this.$refs.searchForm.resetFields(); this.$refs[form].resetFields();重置表單的最實用解決辦法

this.refs.searchForm.resetFields();this.refs.searchForm.resetFields();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>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章