关于使用elementui的相关问题记录

  1. 设置表单验证vue

    官方提供的是给一个form对象下属性添加prop去验证,有的场景是弹窗内是一个数组,则须要如下方法处理:
    (1)
    图片描述数组

    以上,若是一个对象里面包含的是数组,须要v-for遍历,el-form行中:model='item',提交时触发submit方法

    submit(){this

    let isCanSubmit = true;
      for(let i = 0; i < this.$refs.personCommonContact.length; i++){
        this.$refs.personCommonContact[i].validate((valid) => {
          if (!valid) {
            return isCanSubmit = false; //遍历时验证有问题将isCanSubmit 改成false
          }
        })
      }
      if(isCanSubmit){
          验证没问题继续写业务
      }

    }
    (2)
    图片描述
    第2种方法是直接在el-form里面去遍历,el-form-item的写法 :prop="works[${index}].startDate"
    调用submit方法:
    submit(){spa

    this.$refs.personWorks.validate((valid) => {
         if(valid){
             验证没问题继续写业务
         }else{
             弹出提示内容
         }
     })

    }code

  2. 清除验证问题。
    除了官方提供的方法之外,有的场景是清除的方法不是在form表单内点击按钮触发,多是弹窗初始化的时候要清除内容或者验证
    this.$refs.form && this.$refs.form.resetFields() 清除内容和验证
    this.$refs.form && this.$refs.form.clearValidate() 清除表单验证
  3. el-select下拉框不能从新选择的问题
    多是由于下拉框的key层次嵌套太深,数据更改后没有触发vue的render
    可以使用this.$forceUpdate()强制更新
  4. 在vue + element项目中使用绑定对象时,如时间组件选中后没法显示,则应该:
    this.$set(obj,'key',value值或者null)
    增长多个属性:this.obj = Object.assign({},this.obj,{orm

    key1: 1,
    key2:2

    })
    (切记:el-picker组件只接收字符串类型)
    对象增长属性时,不能直接赋值,如this.obj.key = 'xxx'对象

    持续更新中。。。blog

相关文章
相关标签/搜索