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

在 Vue 2 中,在 v-for 里使用的 ref 属性,this.$refs 会得到一个数组。

<div v-for="item in 2" :ref="setItemRef"></div>

mounted () {
  console.log(this.$refs.setItemRef) // [div, div]
}

在 Vue 3 中,不会自动创建数组。要从单个绑定获取多个 ref,需要将 ref 绑定到一个更灵活的函数上 (这是一个新特性):

<div v-for="item in 2" :ref="setItemRef"></div>

data: {
  list: []
},
mounted () {
  console.log(this.list) // [div, div]
}
methods: {
  setItemRef (el) {
    this.list.push(el)
  }
}
Logo

前往低代码交流专区

更多推荐