Lar*_*ara 20 javascript typescript reactjs
我正在尝试更新 TypeScript 中接口之一的部分属性,如下所示
interface details{
name: string,
phonenumber: number,
IsActive: boolean
}
let pDt: Partial<details> = {IsActive: false};
Run Code Online (Sandbox Code Playgroud)
当我试图将其作为参数的方法之一传递给它时details,它给出了以下问题“ Partial 类型的参数不可分配给‘detail’类型的参数”。
这里出了什么问题以及如何纠正?
JBD*_*JBD 15
在您的情况下,如果您想使用 Partial,您可以像这样进行转换:
interface Details{
name: string,
phonenumber: number,
IsActive: boolean
}
let partialDetails: Partial<Details> = {IsActive: false};
let details: Details = partialDetails as Details;
Run Code Online (Sandbox Code Playgroud)
Ale*_*yne 14
Partial 类型的参数不可分配给“detail”类型的参数
您无法将某种类型的分部分配给创建分部的原始类型。
interface Details{
name: string,
phonenumber: number,
IsActive: boolean
}
let partialDetails: Partial<Details> = {IsActive: false};
let details: Details = partialDetails // error
Run Code Online (Sandbox Code Playgroud)
这是有道理的,因为Details期望所有属性都有值,但Partial<Details>可以省略其中任何属性。这使得部分与您制作部分的整个类型不兼容。
“解决”这个问题并不容易。这取决于您的应用程序的逻辑。如果您有一个需要整体的函数,Details那么您必须将其传递给整个Details,而 aPartial<Details>则不行。
| 归档时间: |
|
| 查看次数: |
32591 次 |
| 最近记录: |