vue3 + ts 引用组件里的方法

193 阅读1分钟

子组件里利用 defineExpose 暴露方法

function getFilterExpression() {
  return {
    value: range.value,
    criticalValue: criticalValue.value,
    nullable: nullable.value,
    isNot: true
  }
}

defineExpose({
  getFilterExpression
})

父组件 在里应用

<OpContainer ref="opContainerRef" v-if="activeFilterItem" :activeFilterItem="activeFilterItem"></OpContainer>

type ElOpContainer = InstanceType<typeof OpContainer>;
const opContainerRef = ref<ElOpContainer | null>(null)

let filterExpression = opContainerRef.value?.getFilterExpression()