我正在使用 Vuelidate 验证一个 vue 表单,并且在尝试编辑它时出现以下错误:
Error: [vuex] do not mutate vuex store state outside mutation handlers.
这是我的表单输入结构:
<hp-text-input
id="company-name"
v-model.trim="$v.formData.companyName.$model"
:code="$v.formData.companyName.$model"
:v="$v.formData.companyName"
:disabled="formData.loading"
:labeltext="$t('components.add_address_modal.company')"
name="company-name"
></hp-text-input>
这是我的状态:
data() {
return {
formData: {
country: 'Ireland',
address: '',
addressAdditional: '',
addressType: '',
city: '',
companyName: '',
firstName: '',
lastName: '',
zipCode: '',
},
}
},
这些是我的 Vuelidate 验证:
validations() {
return {
formData: {
country: {},
address: { required, max: maxLength(32) },
addressAdditional: { max: maxLength(32) },
addressType: { required },
city: { required },
companyName: {},
firstName: { required },
lastName: { required },
zipCode: { required, max: maxLength(10), zipValidate },
},
}
},
我确实在这个组件中使用了 vuex 存储,但它甚至与表单数据本身无关。目前唯一可以消除错误的方法是创建一个副本并将formData
其传递给表单,这对我来说没有任何意义。
你有什么建议吗?