vue3.0 typescript 子组件如何暴露方法,将方法挂载在自身ref下

创建一个方法

import { getCurrentInstance } from 'vue';

// expose public api
export function useExpose(apis: Record<string, any>) {
  const instance = getCurrentInstance();
  if (instance) {
    Object.assign(instance.proxy, apis);
  }
}

将子组件内的方法,注册进入该实例的proxy下

    function open() {
      showPicker.value = true
    }
    useExpose({ open, close });

  调用

const cityPicker = ref()
const openCity = () => {
     cityPicker.value.open()
}

  以上代码基本在是都compostion API setup中调用

posted @ 2021-04-19 15:40  Jeff_lzf  阅读(1787)  评论(0)    收藏  举报