vue2 Element-ui框架相关常见问题-表单组件重置显示异常
这里是若依框架-表格筛选场景

问题描述:点了右边重置按钮, 筛选好的表单项会清空,接下来问题可能会出现用户重新选择各表单项后, 表单视图没有更新, 这里单选下拉组件会有明明选择了选项,但是为空, 输入框选项明明输入了文本,但是视图不更新的问题
造成的原因: 表单双向绑定的值没有定义好
html
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="" prop="date">
<el-date-picker v-model="queryParams.date" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
<el-form-item label="" prop="deptIds" style="width: 205px">
<dept-select v-model="queryParams.deptIds" multiple />
</el-form-item>
<el-form-item label="" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入业务员" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="" prop="dimensionType">
<el-select v-model="queryParams.dimensionType" placeholder="请选择统计维度">
<el-option v-for="dict in dict.type.report_sd_statistics_dimension" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
js
export default {
data() {
return {
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10
}
};
},
比如这里表单项有四个,这里双向绑定在queryParams里的每一个对象里, 但是queryParams里没有定义好空值,虽然页面不会报错,但是会导致双向绑定失效, 正确做法是有多少表单项就定义多少对象
js
export default {
data() {
return {
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
date: null,
deptIds: [],
userName: null,
dimensionType: null
}
};
},
一一对应好对象,问题就解决了