文章目錄
- 為什么需要 `prop`?
- 示例:使用 `prop` 的正確方式
- 關鍵點
- 總結
在
element-ui
的
el-form
組件中,
prop
屬性是與表單驗證和表單字段綁定密切相關的,尤其在使用
resetFields()
重置表單數據時。
如果不使用
prop
,
el-form
將無法準確地識別和操作每個表單項,因此重置操作可能無法生效。
為什么需要 prop
?
-
驗證依賴:表單驗證需要通過
prop
來區分不同的表單項,確保驗證規則能夠正確應用。沒有prop
,el-form
就無法知道如何驗證這個字段,也無法在表單重置時清除驗證狀態。 -
重置操作:
resetFields()
方法是通過表單項的prop
來重置相應的數據的。如果沒有prop
,el-form
就無法識別哪些字段需要被重置,從而導致重置操作無法生效。
示例:使用 prop
的正確方式
<template><div style="padding: 20px;"><el-form ref="form" :model="form" label-width="auto" style="width:100%"><el-row><el-col :span="12"><el-form-item label="產品名稱" prop="name"><el-input v-model="form.name" placeholder="請輸入產品名稱" /></el-form-item></el-col><el-col :span="12"><el-form-item label="產品類型" prop="region"><el-select v-model="form.region" placeholder="請輸入產品類型"><el-option label="應用產品" value="001" /><el-option label="WEB產品" value="002" /></el-select></el-form-item></el-col><el-col :span="24"><el-form-item label="產品簡介" prop="desc"><el-input v-model="form.desc" type="textarea" /></el-form-item></el-col></el-row><el-row justify="center"><el-form-item><el-button type="primary" @click="onSubmit">搜索</el-button><el-button @click="onReset">重置</el-button></el-form-item></el-row></el-form></div>
</template><script>
export default {data() {return {form: {name: '',region: '',desc: ''}};},methods: {onSubmit() {console.log('submit!');},onReset() {this.$refs.form.resetFields();}}
};
</script><style lang="scss" scoped>
/* 樣式部分 */
</style>
關鍵點
-
prop
屬性:為每個el-form-item
添加prop
屬性,prop
應該與model
中的字段名稱對應。這樣,el-form
才能正確地識別并重置每個字段。 -
resetFields()
:this.$refs.form.resetFields()
會根據prop
屬性來重置表單項的值和校驗狀態,因此必須為每個表單項提供prop
。
總結
沒有 prop
,resetFields()
無法知道要重置哪些字段,從而導致重置操作無法生效。因此,為了使表單重置生效,確保每個 el-form-item
都有 prop
屬性,且 prop
與 model
中的數據字段相對應。