vue框架里边的ref='xxx' 的用法 在父组件里边操作子组件的变量 有多组单选按钮(遍历生成)每次只能选中一组

  • A+
所属分类:Web前端
摘要

页面有十一组单选按钮,每一组是遍历出来,每个按钮也是遍历出来,<el-radio></el-radio>只写一次。写完之后会出现可选中多组,需求是选中某一组中的某一个时,其它组的如果有选过的就要取消。

页面有十一组单选按钮,每一组是遍历出来,每个按钮也是遍历出来,<el-radio></el-radio>只写一次。写完之后会出现可选中多组,需求是选中某一组中的某一个时,其它组的如果有选过的就要取消。

这就要想办法把除了当前组以外的其它组的取消选中。子组件里边的<el-radio></el-radio>元素就有用v-model绑定checked变量,我在父组件通过操作这个变量而实现那个需求。

子组件那边使用this.$emit('childNotify',param)往父组件那边传一个事件childNotify以及param对象过去,父组件这边在子组件挂载的位置写上@childNotify="handler"绑定函数handler

在父组件挂载子组件的位置使用 :ref="xxx变量xxx" 动态给子组件起名字,然后在handler函数里边给this.$refs赋值到一个变量refList里边,那么这个refList就会拿到ref给子组件动态起的名字的数组,然后遍历这个数组里边有元素checked------子组件里边的变量,现在可以对其进行操作了,把它设置为null,页面的所有单选按钮都变成反选了的,然后再对其进行赋值选中。