定义一个props接口

interface IPropsUpload {
    accept?: string,
    multiple?: boolean,
    options: UploadOptions,
}
// 其中options一个对象接收上传自定义的一些options
type UploadOptions = {
    chunkSize: number,
    simultaneousUpload: number,
}

此时,定义一个props,再给propsoptions两个必填属性初始默认值

const props = withDefaults(defineProps<IPropsUpload&gt;(), {
    accept: '',
    multiple: false,
    options: () =&gt; ({
        chunkSize: 1024,
        simultaneousUpload: 3
    })
});

这样赋值之后,可以检测一下是否正确有效
在这里插入图片描述
这里aa属性报错定义,但是chunkSize属性报错,由此可见我们定义的有效。

注意:options要使用一个返回UploadOptions类型函数方式赋值,不要直接使用一个对象字面赋值(像下面这样)

// ❌❌❌
const props = withDefaults(defineProps<IPropsUpload&gt;(), {
    accept: '',
    multiple: false,
    options: {
        chunkSize: 1024,
        simultaneousUpload: 3
    }
});

在这里插入图片描述

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注