【发布时间】:2020-07-28 14:41:47
【问题描述】:
我试图从对象中获取价值,但是,TypeScript 不明白我在做什么。 这是一段代码:
interface SelectValue {
label: string;
value: number;
}
interface FormValues {
entity: SelectValue | string;
}
const makeFullDataObject = (formValues: FormValues) => ({
entity: formValues.entity.value || formValues.entity,
});
错误提示:
TS2339: Property 'value' does not exist on type 'string | SelectValue'. Property 'value' does not exist on type 'string'.
我知道这个属性在字符串类型上不存在,这就是我放置 OR 字符串的原因。这在 JavaScript 中工作得很好,但 TypeScript 不会让我编译它。任何不使用any 的解决方案?谢谢
【问题讨论】:
-
string类型不包含value属性,只有SelectValue包含,这就是您收到错误的原因
标签: typescript