問題
使用iview動(dòng)態(tài)添加表單校驗(yàn),觸發(fā) this.$refs[name].validate 方法校驗(yàn)的時(shí)候,會(huì)有一部分非String類型表單項(xiàng)提示校驗(yàn)未通過,console中顯示 async-validator: ["xxx is not a string"]
組件寫法如下:
<Form ref="form" :model="form" >
<FormItem :label="item.label" v-for="(item, index) in list" :key="index"
:prop="item.key"
:rules="[{ required: (item.required), message: '請(qǐng)?zhí)顚? + item.label, trigger: 'change,blur'}]"
>
<Input v-model="form[item.key]"/>
</FormItem>
</Form>
console錯(cuò)誤提示如下:

image.png
解決方法
去掉:rules 規(guī)則中的 trigger 屬性
:rules="[{ required: (item.required), message: '請(qǐng)?zhí)顚? + item.label,}]"
再次觸發(fā) this.$refs[name].validate 方法校驗(yàn)的時(shí)候恢復(fù)正常。
<Form ref="form" :model="form" >
<FormItem :label="item.label" v-for="(item, index) in list" :key="index"
:prop="item.key"
:rules="[{ required: (item.required), message: '請(qǐng)?zhí)顚? + item.label,}]"
>
<Input v-model="form[item.key]"/>
</FormItem>
</Form>
原因
未知[吐血]
注
這種解決方法只是一種簡(jiǎn)單的臨時(shí)解決方案,暫時(shí)不知道有沒有別的問題。。。╮(╯▽╰)╭