天天看點

Vue+element 關于表單的一些問題

Vue+element 關于表單的一些問題

問題1:新增和編輯功能共用同一表單時,先編輯指派回顯,關閉表單後再打開新增時,會發現 this.$refs.[formName].resetFields()無效,即回顯的内容在新增的表單内并沒清空

解決辦法:在指派的時候使用(指派時注意深淺拷貝的問題)

this.$nextTick(function() {   //關鍵使用this.$nextTick
        this.Form = res //這裡指派
      })
或者使用
 setTimeout(() => {
              this.Form = res //這裡指派
    }, 1000)
           

其他原因:

1.表單上沒有添加ref屬性

解決:在form上添加ref,需要與this.$ref[‘form’] 中名稱一緻

<el-form ref="form"></el-form>
           

2.el-form-item沒有添加prop屬性

解決:prop屬性需要與data綁定的屬性一緻

<el-form-item label="表單1" prop="msg1" >
            <el-input v-model="Form.msg1" clearable></el-input>
</el-form-item>
           

問題2:數組對象在指派更新時,資料沒更新到頁面,還是由于 JavaScript 的限制,Vue 不能檢測對象屬性的添加或删除:

解決:數組檢測更細變異的方法

push()

pop()

shift()

unshift()

splice()

sort()

reverse()

var data = {name:'張三',age:'18'}
更新資料方式1:
  this.$set(this.List, Index, data)  //(要更新的目标數組對象,下标,更新的内容)
 更新資料方式2:
  this.List.splice(Index, 1, data) //要更新的目标數組對象.splice(下标,更新一條,更新的内容)
           

繼續閱讀