小编Iya*_*shi的帖子

Vue3/ts/setup:导入 Emits/Props 类型以与 DefineEmits<> 和 DefineProps<> 一起使用

知道如何导入EmitsandProps接口并将它们与defineEmits<ImportedEmits>()and一起使用defineProps<ImportedProps>()吗?

sfc.vuejs.org 上的完整示例

例子:

我有一个NumberFilter.ts提供一般 Emit- 和 Props 定义的:

// NumberFilter.ts
export type NumberValue = number | null

export interface NumberEmits {
  (e: 'update:value', v: NumberValue): void
  (e: 'min:value', v: NonNullable<NumberValue>): void
  (e: 'max:value', v: NonNullable<NumberValue>): void
  (e: 'increase:value', v: NonNullable<NumberValue>): void
  (e: 'decrease:value', v: NonNullable<NumberValue>): void
}

export interface NumberProps {
  value?: NumberValue
  minValue?: NonNullable<NumberValue>
  maxValue?: NonNullable<NumberValue>
  stepValue?: NonNullable<NumberValue>
}
Run Code Online (Sandbox Code Playgroud)

现在我想在实际组件中使用这些定义(例如RadiusFilter):

// RadiusFilter.vue
<script lang="ts" …
Run Code Online (Sandbox Code Playgroud)

typescript vue.js vuejs3 vue-composition-api

7
推荐指数
1
解决办法
7477
查看次数

标签 统计

typescript ×1

vue-composition-api ×1

vue.js ×1

vuejs3 ×1