在vue2时代,$refs 直接操作子组件
this.$refs.gridlayout.$children[index];
虽然不推荐这么做,但是确实非常好用。但是vue2快速迁移到vue3,之前的这个写法因为干进度,不想重构,直接搬迁,发现不行?
看了下官方的文档:v-for 中的 Ref 数组 | Vue.js
注意:
itemRefs 不必是数组:它也可以是一个对象,其 ref 可以通过迭代的 key 被设置。
如有需要,itemRefs 也可以是响应式的,且可以被侦听。
在tsx 这个怎么弄呢?
网上的大部分教程都是 template 的
const el = ref(null)
普通元素
import MyModal from './MyModal.vue' const modal = ref| null>(null) const openModal = () => { modal.value?.open() }
对于子组件,其实和 let timer: ReturnType
如果不进行类型声明,modal 方法无法调用。 需要是as 魔法了
还有一个需要特别注意,就是子组件内容是暴露出来的,如果是