element-ui 自定义搜索栏组件中联动效果的select下拉框清空的问题(解决思路)

用vue3.x+element-ui来写后台管理,自己二次封装了一个搜索栏组件,想搜索栏组件传递配置项数组实现组件的显示
需求:品类下拉框选择翡翠时才显示货品形态下拉框,如果不是翡翠,则隐藏货品形态下拉框
搜索栏组件传入配置项格式如下:
formOptions: [
{
label: ‘品类’,
prop: ‘productType’,
element: ‘el-select’,
initValue:’’,
options: [],
events:{
change:this.productTypeChange
}
},
{
// label: ‘货品形态’,
// prop: ‘ownerProductType’,
// element: ‘el-select’,
// initValue:’’,
// options: []
}
]

错误做法❌:配置项数组先不传货品形态的配置,给品类下拉框组件的配置项传递了一个change事件,当val为翡翠时,使用数组的slice方法为配置项数组的特定位置加入物品形态配置对象,当val不是翡翠时,使用数组的filter方法,过滤掉配置项数组中的物品形态这一项
导致的问题😢:重置时品类下拉框无法重置为初始值,如果去掉change事件处理函数内部的逻辑即可正常,但是这样就不能完成需求

正确做法✔👍:初始化时,把配置项数组中货品形态配置项设置为一个空对象,这样搜索栏就渲染不出来货品形态这一个下拉组件,给拼配配置项传递一个change事件,当value为翡翠时,把配置项数组中的货品形态这一项赋值为正常的配置项即可,当value不是翡翠时,再重新设置货品翔太配置项为一个空对象即可
解决问题😍:既实现了产品需求,又可以在重置时不出现上面的bug

注意:在重置时要记得把配置项中的货品形态配置项设置为空对象

以上只是我个人的解决思路,遇到同样问题的小伙伴又不知道如何解决的可以参考一下这个思路

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值