Как я могу исключить элемент из цикла с типом, равным «скрытому» в Vue?
<span v-for = "(customField, index) in item.customFields" :key = "index">
{{ customField.value }}
</span>





Вы должны создать вычисляемое значение, которое фильтрует элементы для рендеринга.
В твоем случае:
API композиции:
const customFieldsToRender = computed(() => item.value?.customFields?.filter((f) => f.type !== "hidden")) || [];
API опций:
customFieldsToRender() {
return this.item?.customFields?.filter((f) => f.type !== "hidden")) || [];
}
И затем отображать поля по этому вычисляемому значению
<span v-for = "(customField, index) in customFieldsToRender" :key = "index">
{{ customField.value }}
</span>
Кроме того, я вижу, что вы используете индекс в качестве ключа в цикле v-for. Это плохая практика. Здесь хорошо объяснено, почему это так - Почему бы не всегда использовать индекс в качестве ключа в цикле for vue.js?