最近在使用elementui 中的form表單遇到的一個(gè)詭異的問題,我form表單外面嵌套著一個(gè)dialog,當(dāng)我新建一個(gè)form對(duì)象是方篮,使用官網(wǎng)提供的 this.$refs.form.resetFields()我有效果的,但是當(dāng)我給form手動(dòng)賦值后晰筛,再重新點(diǎn)開form奕枝,內(nèi)容并沒有清空
輸入內(nèi)容清空正常:
image.png
手動(dòng)賦值,重新再打開form,不能清空內(nèi)容
image.png
后面經(jīng)過在網(wǎng)上查帖子猜谚,可算解決了這個(gè)問題。
當(dāng)我們遇到這樣的問題時(shí)赌渣,可以嘗試按以下方式進(jìn)行排查錯(cuò)誤:
1魏铅、form是否設(shè)置ref
2、form中每一項(xiàng)是否設(shè)置了prop
3坚芜、是否因?yàn)槿鄙倭?nextTick函數(shù)览芳?
<el-dialog title="模板編輯" width="40%" :visible.sync="visibleDialog" @close="close">
<el-form :model="roleForm" label-width="100px" ref="form">
<el-form-item label="模板名稱" prop="name">
<el-input v-model="roleForm.name" autocomplete="off" style="width: 220px"></el-input>
</el-form-item>
<el-form-item label="模板id" prop="templateId" >
<el-input type="textarea" :rows="2" v-model="roleForm.templateId" autocomplete="off"
style="width: 220px"></el-input>
</el-form-item>
<el-form-item label="模板路徑" prop="baseUrl">
<el-input type="textarea" :rows="2" v-model="roleForm.baseUrl" autocomplete="off"
style="width: 220px"></el-input>
</el-form-item>
<el-form-item label="模板類名" prop="className">
<el-input type="textarea" :rows="2" v-model="roleForm.className" autocomplete="off"
style="width: 220px"></el-input>
</el-form-item>
</el-form>
</el-dialog>
// 賦值
handleEdit(index,row) {
this.visibleDialog = true
this.updateType = 'editor'
this.$nextTick(()=>{
this.roleForm = Object.assign({},row)
})
},
// 關(guān)閉dialog時(shí)回調(diào)
close(){ // 表單關(guān)閉置空字段(不展示的字段是無法置空的)
this.$refs.form.resetFields()
},