vue.js 如何确定是否定义了发射?

7d7tgy0s  于 2023-03-09  发布在  Vue.js
关注(0)|答案(1)|浏览(125)

我有一个按钮,可以处理的东西与和没有长按。
最初在我切换到发射器之前,我使用函数回调,因为我有一个React Native背景。
所以我打字的时候

export type UsePressableEmits =
  | {
      (e: "press", event: Event): void;
      (e: "longPress", event: Event): void;
    }
  | {
      (e: "press", event: Event): void;
    };

现在这个代码块失败

function fire(event: Event) {
    firing.value = true;
    emit("press", event);
    firing.value = false;
  }

  function fireLongPress(event: Event) {
    firing.value = true;
    emit("longPress", event); // does not pass type checks
    firing.value = false;
  }

emit是我传递的一个函数

const emit = defineEmits<{
      (e: "press", event: Event): void;
      (e: "longPress", event: Event): void;
    }>()
83qze16e

83qze16e1#

试试这个。

export type UsePressableEmits = {
  (e: 'press', event: Event): void
  (e: 'longpress', event: Event): void
}

相关问题