el-form 校验未通过,自动滚动到未通过的位置

    // 表单校验
    checkBasicForm() {
      return new Promise((resolve) => this.$refs.basicForm.validate((valid, object) => {
        if (valid) {
      // 校验通过 resolve(this.formatterForm()) } else { // resolve(false)
      // 校验未通过,滚动到指定位置 let str = [] for (let key in object) { object[key].map((item) => { str.push(item.message) }) let dom = this.$refs[Object.keys(object)[0]] if (Object.prototype.toString.call(dom) !== '[object Object]') { dom = dom[0] break // 结束语句并跳出语句,进行下个语句执行 } // 定位代码 dom.$el.scrollIntoView({ block: 'center', behavior: 'smooth' }) } } }) ) },

  注意给form-item加ref

<a-form-model-item ref="parentId"
                             label="上级项目"
                             prop="parentId"
                             v-bind="parentCol"
          ></a-form-model-item>

  

posted on 2022-10-31 18:10  稳住别慌  阅读(99)  评论(0编辑  收藏  举报