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

Posted mmzuo-798

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于Vue使用v-for时动态绑定ref(v-for组件内使用ref)的主要内容,如果未能解决你的问题,请参考以下文章

vue3 中 v-for 的 Ref 需要绑定函数

vuejs中的v-for怎样动态增加循环数据

vue.js - v-for 中动态生成的组件没有正确更新绑定属性

vue循环语句v-for中元素绑定值问题

vue循环语句v-for中元素绑定值问题

vue中v-for出来的input如何实现双向绑定