this.refs[form].resetFields();重置表單的最實用的解決辦法
出現這種問題,按照下面的5步,挨個檢查一遍,基本問題就解決了。如果還是解決不掉,歡迎留言。
本方法同時適用於iview和element Ui
vue頁面部分(html)
【1】Form的名字 searchForm
【2】Form-item的 prop=area
【3】Select 的v-model=searchForm.area
js data部分(數據)
【4】searchForm:{area:""}
需要重置成什麼樣子,這裏就寫什麼值
通過查看以上部分,問題應該是已經解決了
方法部分(方法)
兩種方法都可以
【5】
<Button @click="handleReset">重置</Button>
handleReset() {
this.$refs.searchForm.resetFields();
},
// 下面的方式適合一個頁面有多個表單需要重置時,只需要定義一個就可以了
<Button @click="handleReset('searchForm')">重置</Button>
handleReset(form) {
this.$refs[form].resetFields();
},
demo代碼(iview版)
<template>
<div>
<Form ref="searchForm" :model="searchForm" inline :label-width="80" class="search-form">
<Form-item label="地區" prop="area">
<Select v-model.trim="searchForm.area" placeholder="請選擇" clearable filterable style="width:200px">
<Option v-for="(item, i) in areaList" :key="i" :value="item">{{item}}</Option>
</Select>
</Form-item>
<Form-item style="margin-left:-35px;" class="br">
<Button @click="handleSearch" type="primary">搜索</Button>
<Button @click="handleReset">重置</Button>
</Form-item>
</Form>
</div>
</template>
<script>
export default {
data() {
return {
searchForm: {
area: ""
},
areaList:[
"地區一",
"地區二",
"地區三",
"地區四",
]
}
},
methods: {
handleReset() {
this.$refs.searchForm.resetFields();
},
}
}
</script>