vue3 父组件调用子组件方法defineExpose

1,188 阅读1分钟

子组件

// TestTable.vue

<a-table
    ...
  >
  ...
</a-table>


defineExpose({  //  1 写在这里的东西可以抛出去提供父组件使用
  onResetPage: () => {
     currentPage.value = 1;
  }
});

父组件

<div>
    <TestTable ref='sonRef'/>
</div>
    
const sonRef = ref();
...

const somFun = () => {
    ...
    sonRef.value?.onResetPage?.(); // 2
}

如果是孙组件怎么传给爷爷组件呢?试了一下:

孙defineExpose给子 => 子ref孙,然后defineExpose给父 => 父ref子

这样子父是可以拿到孙defineExpose出来的对象,但是每个数据对应的值都是undefined

还有什么方法呢??