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]