我在一个项目中使用Vutify v-date-picker,代码工作正常,但我在使用v-model时有一个打字错误:

<v-date-picker title="Start Date" width = "200" v-model="workingDate" @click:save="newDate"/>

错误是:

Type '{ toString: () => string; toDateString: () => string; toTimeString: () => string; toLocaleString: { (): string; (locales?: string | string[] | undefined, options?: DateTimeFormatOptions | undefined): string; (locales?: LocalesArgument, options?: DateTimeFormatOptions | undefined): string; }; ... 39 more ...; [Symbol...' is not assignable to type 'any[]'.ts(2322)
index.d.mts(2757, 13): The expected type comes from property 'modelValue' which is declared here on type '{ header?: string | undefined; style?: StyleValue | undefined; title?: string | undefined; inputMode?: "calendar" | "keyboard" | undefined; multiple?: boolean | undefined; ... 57 more ...; "onClick:save"?: (() => any) | undefined; } & Record<...>'

我已经上传了一个工作演示,其中也显示了TS错误,在Vuetify playgound.

有一个可能的解决方案here,但它需要访问组件代码,而我没有v-date-picker的组件代码.

推荐答案

似乎是3.3版中的一个错误.显然,VDatePicker的modelValue是一个数组类型,但只有在设置了multiple属性时才是正确的.类似地,update:modelValue事件被认为传递了一个数组,但它实际上是一个简单的日期(没有multiple).

使用Date对象是正确的.我不认为您可以对这个错误做任何事情(除了提交错误报告).

Typescript相关问答推荐

等待的R没有用响应对象展开到R

如何在方法中定义TypeScript返回类型,以根据参数化类型推断变量的存在?

TypeScript将键传递给新对象错误

如何判断输入是否是TypeScript中的品牌类型?

在TypeScript中,除了映射类型之外还使用的`in`二进制运算符?

泛型和数组:为什么我最终使用了`泛型T []`而不是`泛型T []`?<><>

rxjs forkJoin在错误后不会停止后续请求

无法正确推断嵌套泛型?

如何在typescript中设置对象分配时的键类型和值类型

是否使用非显式名称隔离在对象属性上声明的接口的内部类型?

如何判断对象是否有重叠的叶子并产生有用的错误消息

如何编辑切片器以使用CRUD调用函数?

打印脚本中正则函数和函数表达式的不同类型缩小行为

使用强类型元组实现[Symbol.iterator]的类型脚本?

有没有什么方法可以使用ProvideState()提供多个削减器作为根减减器

使用泛型以自引用方式静态键入记录的键

如何为字符串模板文字创建类型保护

如何确定单元格中的块对 mat-h​​eader-cell 的粘附(粘性)?

如何从 Select 元素中删除选项

如何编写一个接受 (string|number|null|undefined) 但只返回 string 且可能返回 null|undefined 的函数?