el-form組件使用resetFields重置失效的問題解決
el-form組件使用resetFields重置失效問題解決,有效避坑
1. 問題
用el-form寫了包含三個字段的表單,使用resetFields方法進(jìn)行重置,發(fā)現(xiàn)點(diǎn)擊重置或要清空校驗(yàn)時是失效的。

代碼:
<template>
<div>
<el-form :inline="true" size="mini" style="float: right" :model="queryParams.args" ref="queryForm">
<el-form-item label="姓名">
<el-input
style="width:160px"
size="mini"
placeholder=""
v-model.trim="queryParams.args.name"
clearable
></el-input>
</el-form-item>
<el-form-item label="賬號">
<el-input
style="width:160px"
size="mini"
placeholder=""
v-model.trim="queryParams.args.no"
clearable
></el-input>
</el-form-item>
<el-form-item label="性別">
<el-select v-model="queryParams.args.sex" placeholder="請選擇" clearable>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click.native="search" size="mini">查詢</el-button>
<el-button type="primary" @click.native="addUseroperator" size="mini">新增</el-button>
<el-button type="success" @click.native="reset" size="mini">重置</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
data() {
return {
queryParams: {
args:{
name: "",
no: "",
sex: null
}
},
options: [
{value: 0, label: '女'},
{value: 1, label: '男'}
]
}
},
methods: {
reset(){
this.$refs["queryForm"].resetFields()
},
}
}
</script>
點(diǎn)擊重置按鈕后,仍不能清空重置該表單:

剛開始以為是異步問題,在重置方法代碼上加上方法this.$nextTick(()=>{}):
methods: {
reset(){
this.$nextTick(()=>{
this.$refs["queryForm"].resetFields()
})
},
}
測試后仍然沒有效果,只能下一步解決:
2. 解決
仔細(xì)檢查代碼后,可以發(fā)現(xiàn)el-form-item沒有添加prop屬性,導(dǎo)致識別不到相應(yīng)的字段屬性,注意這里有個坑:就是el-form這里要加上“:model”字段,我這里是加“:model=“queryParams.args”,如果不加,resetFields也會同樣失效。加上后的代碼如下:
<template>
<div>
<el-form :inline="true" size="mini" style="float: right" :model="queryParams.args" ref="queryForm">
<el-form-item label="姓名" prop="name">
<el-input
style="width:160px"
size="mini"
placeholder=""
v-model.trim="queryParams.args.name"
clearable
></el-input>
</el-form-item>
<el-form-item label="賬號" prop="no">
<el-input
style="width:160px"
size="mini"
placeholder=""
v-model.trim="queryParams.args.no"
clearable
></el-input>
</el-form-item>
<el-form-item label="性別" prop="sex">
<el-select v-model="queryParams.args.sex" placeholder="請選擇" clearable>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click.native="search" size="mini">查詢</el-button>
<el-button type="primary" @click.native="addUseroperator" size="mini">新增</el-button>
<el-button type="success" @click.native="reset" size="mini">重置</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
data() {
return {
queryParams: {
args:{
name: "",
no: "",
sex: null
}
},
options: [
{value: 0, label: '女'},
{value: 1, label: '男'}
]
}
},
methods: {
reset(){
this.$refs["queryForm"].resetFields()
},
}
}
</script>

點(diǎn)擊重置按鈕測試后,確實(shí)有效了,問題解決。


以上就是el-form組件使用resetFields重置失效的問題解決的詳細(xì)內(nèi)容,更多關(guān)于el-form使用resetFields重置失效的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Vue項(xiàng)目打包部署到apache服務(wù)器的方法步驟
這篇文章主要介紹了Vue項(xiàng)目打包部署到apache服務(wù)器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
vite項(xiàng)目添加eslint?prettier及husky方法實(shí)例
這篇文章主要為大家介紹了vite項(xiàng)目添加eslint?prettier及實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
vue實(shí)現(xiàn)的請求服務(wù)器端API接口示例
這篇文章主要介紹了vue實(shí)現(xiàn)的請求服務(wù)器端API接口,結(jié)合實(shí)例形式分析了vue針對post、get、patch、put等請求的封裝與調(diào)用相關(guān)操作技巧,需要的朋友可以參考下2019-05-05
Vue2 Vue-cli中使用Typescript的配置詳解
Vue作為前端三大框架之一截至到目前在github上以收獲44,873顆星,足以說明其以悄然成為主流。下面這篇文章主要給大家介紹了關(guān)于Vue2 Vue-cli中使用Typescript的配置的相關(guān)資料,需要的朋友可以參考下。2017-07-07
使用VueRouter的addRoutes方法實(shí)現(xiàn)動態(tài)添加用戶的權(quán)限路由
這篇文章主要介紹了使用VueRouter的addRoutes方法實(shí)現(xiàn)動態(tài)添加用戶的權(quán)限路由,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06

