预览参考

Ben*_*way 3 sanity

我想预览我拥有的工作室中的参考名称和图标类型,例如标题为“facebook”的参考名称

export default {
name: 'icon',
title: 'Icon',
type: 'document',
fields: [
    {
        name: 'name',
        title: 'Name',
        type: 'string'
    },
]
Run Code Online (Sandbox Code Playgroud)

}

我在其他地方的菜单中引用了这个

{
        name: 'icon',
        title: 'Icon',
        type: 'reference',
        to: [{ type: 'icon' }]
    },
Run Code Online (Sandbox Code Playgroud)

然后尝试像这样预览

preview: {
    select: {
        title: 'icon',
    },
    prepare(selection) {
        const { title } = selection;

        return {
            title: title.name,
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我的选择返回引用对象,带有 _ref 等,而不是对象本身。有没有办法预览此参考?

bjo*_*rge 7

您可以在要在预览中使用的引用上点入属性,如下所示:

preview: {
    select: {
        title: 'icon.name',
    },
    prepare(selection) {
        const { title } = selection;

        return {
            title: title.name,
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

旁注:由于准备函数现在只传递其输入,因此您可以将其完全删除。这就足够了:

preview: {
    select: {
        title: 'icon.name'
    }
}
Run Code Online (Sandbox Code Playgroud)