iview给select组件绑定的data异步赋值,怎么避免触发Form的rules验证?

新手上路,请多包涵

题目描述

使用iview的select组件,组件里面的数据需要异步获取,在获取回来赋值之后,触发了Form里面的rules验证,导致一打开页面就会出现错误提示

题目来源及自己的思路

使用created去获取数据回来赋值、去掉了rules里面的trigger: 'change',还是会触发rules的验证,出现错误提示
图片描述

把rules里面的trigger改成blur,初始化的时候不会报错,但是blur的时候不能通过rules的验证,选择了数据,错误提示不会消失
图片描述

相关代码

select组件

<FormItem label="资金类别" prop="fundsCategory">
    <Select v-model="formValidate.fundsCategory">
        <Option v-for="item in initData.fundsCategory" :value="item.value" :key="item.value" :label="item.label"></Option>
    </Select>
</FormItem>

Form组件

<Form ref="projectAddForm" :model="formValidate" :rules="ruleValidate" :label-width="180">

异步获取select的数据

this.initData.fundsCategory = (await Ajax.get('/api/xxxxxxxxx')).data.result.map((item:any) => {
    return {
        label: item.displayName,
        value: item.id
    }
})
rules验证里面的规则
fundsCategory: [{ required: true, type: 'number', message: '请选择资金类别' }], 

怎么能让异步赋值的时候避免触发rules的验证呢?或者怎么写能让异步请求全部回来之后才让iview去验证rules呢?请大家赐教

阅读 5k
1 个回答
✓ 已被采纳新手上路,请多包涵

升级到iview 3.0.0后就没这个问题了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题