cascader lazyload后表单校验规则不生效

Saber 未结 1 827
sheshouwang
sheshouwang 2021-04-27 17:53

一、该问题的重现步骤是什么?

1. 

 {
            label: '企业所在地',
            prop: 'fRegisteredArray',
            type: 'cascader',
            span: 8,
            disabled: this.viewFlag,
            props: {
              label: 'dictValue',
              value: 'dictKey'
            },
            lazy: true,
            lazyLoad (node, resolve) {
              const stopLevel = 2
              const level = node.level
              const parentId = node.data ? node.data.dictKey : ''
              let list = []
              const callback = () => {
                resolve((list || []).map(ele => {
                  return Object.assign(ele, {
                    leaf: level >= stopLevel
                  })
                }))
              }
              if (level === 0) {
                getDicData('PROVINCE').then(res => {
                  list = res.data.data
                  callback()
                })
              }
              if (level === 1) {
                getDicData('CITY', parentId).then(res => {
                  list = res.data.data
                  callback()
                })
              } else if (level === 2) {
                getDicData('DISTRICT', parentId).then(res => {
                  list = res.data.data
                  callback()
                })
              }
            },
            rules: [{
              required: true,
              type: 'array',
              message: '请输入企业所在地',
              trigger: 'blur'
            }]
          },

2. 规则校验不生效,没有反应

3. avue文档校验案例cascader是好用的。但我们的页面使用了lazy lazy-load如上。

二、你期待的结果是什么?实际看到的又是什么?

期待可以正常检验,校验规则生效

三、你正在使用的是什么产品,什么版本?在什么操作系统上?

avue saber

chrome

四、请提供详细的错误堆栈信息,这很重要。

无错误信息

五、若有更多详细信息,请在下面提供。

1条回答
  •  smallchill
    smallchill (楼主)
    2021-04-27 20:46

    这个需要给avue项目发一个issue,把相关代码贴一下

    0 讨论(1)
提交回复