有没有一种方法可以在 vue 3 Options API 中输入与 Composition API 类似的发射? 根据组合方式(文档):
<script setup lang="ts"> // type-based const emit = defineEmits<{ (e: 'change', id: number): void (e: 'update', value: string): void }>() </script>
但是对于选项 API,我们只有有效负载验证(文档):
emits: { addBook(payload: { bookName: string }) { // perform runtime validation return payload.bookName.length > 0 } }
因此,如果我们不需要验证,eslint 会将参数视为未使用:
emits: { change: (id: number) => true // 'id' is defined but never used }
P粉8113491122024-01-01 14:50:31
添加忽略注释来消除警告:
// eslint-disable-next-line no-unused-vars @typescript-eslint/no-unused-vars change: (id: number) => true
或者对 id
进行简单的验证:
change: (id: number) => typeof id === 'number'