在vue中使用 vee-validate ,控制台总是报以下错误
vue.runtime.esm.js?2b0e:619 [Vue warn]: The computed property "fields" is already defined in data.
found in
---> <ElForm> at packages/form/src/form.vue
<Login> at src/pages/login/index.vue
<App> at src/App.vue
<Root>
出现这个问题是因为fields属性被重复声明了多次,项目既引入了vee-validate又引入了element-ui,这两
个包中都定义了fileds,所以作如下修改即可:
在配置中加上两个字段即可:
const config = {
errorBagName: 'errors',
fieldsBagName: 'fieldBags',
// delay: 100,
// locale: 'zh_CN',
// strict: true,
// enableAutoClasses: true,
// events: 'blur',
// inject: true
}
//使用插件
Vue.use(VeeValidate,config)
- errorBagName: ‘erroers’
所有的错误信息都是放在这个里面的,如果名称和页面上的变量名字冲突,需要修改成其他的,当是errors.fist的时候,error就是字符串,当使用error.all()/error.collect()的时候就是数组
- fieldsBagName: ‘fields’
字段的名称(标志)的对象,将在每个Vue的实例数据注入。如果在页面上使用了ip的验证,那么,可以通过如下获取一个对象: