当前位置: 首页 > Web前端 > vue.js

vue3ts获取组件引用实例

时间:2023-03-31 21:30:14 vue.js

获取vue3中组件的类型:typeEleForm=InstanceType获取模板中组件的reftsx等渲染组件更容易获取import{defineComponent,ref,onMounted}from'@vue/runtime-core'import{ElForm}from'element-plus'exportdefaultdefineComponent({setup(){const$form=ref>(null)onMounted(()=>{$form?.value?.validate//类型正确})return()=>}})需要注意的是,如果使用expose方法出去,你无法获得相应的类型,你需要一个自定义类型https://github.com/vuejs/rfcs...//componentMyFormimport{defineComponent,ref,onMounted}from'@vue/runtime-core'import{ElForm}from'element-plus'typeELEForm=InstanceType//使用这个类型在外界通过ref获取组件实例。exportinterfaceMyFormExpose{validate:ELEForm['validate'];}exportdefaultdefineComponent({name:'MyForm',setup(props,{expose}){const$form=ref>(null)expose({validate:(callback)=>$form?.value?.validate(callback),}asMyFormExpose)return()=>}})

最新推荐
猜你喜欢