關於使用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

相關文章
相關標籤/搜索