前言
在这种类似的模块中循环使用elementUI,或element-plus中的下拉选择组件,需求是第一个select选择器改变值的时候,请求接口获取下一个select选择器的数据列表,在请求接口的时候发现接口请求了两次,值改变一次,@change事件调用的两次。
触发多次的原因可能是因为组件重新渲染,导致事件监听器被重复绑定
一、解决方案
在 select组件或tree-select组件上添加 key
属性,使用 key
来区分每个组件,这样即使 el-select
组件重新渲染,也不会出现事件重复绑定的问题。
tips:
- key值必须是唯一的,不能使用同一个key值
- 可用字符串+下标,如:'tree'+index
- 也可 Date.now()+'sdsds' ,方法很多就不列举了