У меня есть массив с данными компонентов, и попробуйте сделать это с помощью v-for
<div :style="style" class="editor-component" v-for="(component, index) in components">
<Component
:is="component.name"
v-bind="component.options"
:key="createKey(component, index)"
:style="component.style ? component.style : {}"
/>
</div>
Итак, проблема:
Когда component.options имеет опору массива с 1 элементом, например
tabs: [{tab}]
это хорошо работает, но когда вкладки имеют 2 и более вкладок, как это
tabs: [{tab},{tab}]
Компонент не отслеживает изменения во второй вкладке.
Итак, я решил это с помощью динамического ключа
createKey(component, index) {
return JSON.stringify(component) + index
}
, но компонент выполняет повторную визуализацию после каждого изменения и сбрасывает состояние компонента по умолчанию.
UPD:
Я обнаружил ту же проблему Реактивные вложенные V-For, использующие Vue / Vuex , но они не отвечают: (