VUE组件 ----- 先触发input再触发其他事件

使用VUE开发了一个选择员工的组件,提供了一个v-model的属性,返回选中员工的唯一ID,select-change事件返回员工对象。

需求:开发者循环遍历一个数组显示多个选择员工组件,用户任意选择一个人工组件,然后拿到选择的用户对象显示用户的姓名等信息。如图所示:

问题:在select-change事件中得到了用户对象,但是不知道将员工对象的属性赋值给循环数组的第几个对象(循环数组对象动态添加的时候对象都是一样的)

思路:选择用户组件之后,就能够得到v-model属性的值(选中人员的ID),然后根据ID去得到员工对象,然后循环数组中的对象值就根据v-model属性关联。

坑:由于我写的组件是先$emit('select-change')事件 再 $emit('input')事件,导致开发者先获取对象,后获取v-model的值,无法再select-change事件中修改循环数组

解决办法:先$emit('input')事件 再 $emit('select-change')事件

猜你喜欢

转载自hbiao68.iteye.com/blog/2400827