问题出在您的Form.vue组件中。准确地说,在这一行中:
<v-window v-model="$store.getters['form/formState'].value">
我不是 Vuetify 专家,所以我不知道为什么确切地用值v-window更新,但它肯定会。我通过激活 Vuex严格模式发现了问题,该模式在某些状态在突变之外发生突变时会引发错误。它会抛出一个错误,从堆栈跟踪中您可以看到问题是由突变引起的v-modelcreateImageContentv-window$store.getters['form/formState'].value
Easy fix 不是v-model使用:value而是使用:
<v-window :value="$store.getters['form/formState'].value">
演示
更新
好的,我找到了原因。v-window默认情况下有一个未记录的道具mandatory(source)true。在这种模式下,v-window期望(并强制)至少有一个<v-window-item>子组件始终处于活动状态。当您将 state 设置为 时idle,没有<v-window-item>这样的值,因此它会选择一个项目本身(首先不是禁用)并更新v-model。所以另一个解决方案是添加:mandatory="false"到<v-window>.
但不使用v-model可能更安全、更清洁,因为永远不应该使用 Vuex getterv-model