1

在 vue 3 设置脚本中共享道具的正确方法是什么

我现在使用以下内容:

// sharedProps.ts
import { ComponentObjectPropsOptions } from 'vue';

const sharedProps: ComponentObjectPropsOptions = {
  modelValue: {
    type: String,
    default: '',
  },
  id: {
    type: String,
    default: null,
  },
};
export default sharedProps;

对于组件

// Some component
<script setup lang="ts">
import { defineEmits, defineProps, ref } from 'vue';
import sharedProps from '@/props/sharedProps';

const props = defineProps({
  ...sharedProps,
  label: {
    type: String,
    default: '',
  },
});

...
</script>

这很好用——但似乎 Rollup、VueDX 等对此不太满意。而且它不是在文档中找到的类型。那么共享道具的正确输入或共享道具的方式是什么?

运行汇总时的错误消息示例

Default export of the module has or is using private name 'PropOptions'
4

0 回答 0