Vue使用v-for时动态绑定ref(v-for组件内使用ref)

前言

最近在开发中需要用到动态设置ref的内容,摸索了很久终于弄明白了要怎么实现。

1.绑定指定某一个组件

1.1、例如:这是一个编辑器组件,在这里把它的ref设置为myeditor
<fcEditor ref="myeditor"></fcEditor> 
1.2、在代码中通过myeditor名称获取这个组件
this.$refs.myeditor;

2.使用:ref动态设置组件名称

2.1、例如:使用v-for循环展示一个对象数组,要遍历的数组为steps
  data () {
    return { steps:[ {name:'itemName',title:"step1",id:1,content:"步骤一",orderNumber:1}, {name:'itemName',title:"step2",id:2,content:"步骤二",orderNumber:2}, {name:'itemName',title:"step3",id:3,content:"步骤三",orderNumber:3}] } } 
2.2、使用:ref动态设置ref,注意!这里所有的组件名称都将被设置成itemName,你可能会说为什么不用item.id呢,是的,刚开始我也想用item.id,但是这样虽然可以设置,但是在代码中是无法取到的。
      <itemBox style="" class="itembox" v-for="item in steps" :key="item.id" :ref="item.name"> </itemBox> 
2.3、在代码中获取第一个组件
this.$refs.itemName[0]



原文:https://www.jianshu.com/p/8617f8852df7

猜你喜欢

转载自www.cnblogs.com/mmzuo-798/p/12307634.html