Предварительный просмотр ссылки

Я хочу предварительно просмотреть справочное имя в моей студии и тип значка, например, с названием "facebook".

export default {
name: 'icon',
title: 'Icon',
type: 'document',
fields: [
    {
        name: 'name',
        title: 'Name',
        type: 'string'
    },
]

}

Я ссылаюсь на это в меню в другом месте, как это

{
        name: 'icon',
        title: 'Icon',
        type: 'reference',
        to: [{ type: 'icon' }]
    },

а затем попробуйте просмотреть, как это

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

        return {
            title: title.name,
        }
    }
}

но мой выбор возвращает ссылочный объект, с _ref и т. д., а не сам объект. Есть ли способ предварительного просмотра этой ссылки?

1 ответ

Вы можете указать свой путь в свойстве по ссылке, которую вы хотели бы использовать в предварительном просмотре следующим образом:

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

        return {
            title: title.name,
        }
    }
}

Примечание: поскольку функция prepare теперь проходит через входные данные, вы можете полностью удалить ее. Этого будет достаточно:

preview: {
    select: {
        title: 'icon.name'
    }
}
Другие вопросы по тегам