CSSProperties TextAlignProperty 类型错误

Posted

技术标签:

【中文标题】CSSProperties TextAlignProperty 类型错误【英文标题】:CSSProperties TextAlignProperty type error 【发布时间】:2020-02-21 09:37:28 【问题描述】:

我正在使用带有 Typescript 的 React 16.8 "@zeit/next-typescript": "1.1.0"

我有内联样式的界面。并且有对象使用IInputInlineStyle 接口。

interface IInputInlineStyle 
    padding: string;
    textAlign?: string;
    paddingLeft?: string | number;
    color?: string;


 const inputInlineStyle: IInputInlineStyle = 
            padding,
            textAlign
        ;

但我收到此错误消息。

错误:(155, 21) TS2322:类型“IInputInlineStyle”不可分配给类型“CSSProperties”。

属性“textAlign”的类型不兼容。

类型“字符串”不可分配给类型“TextAlignProperty”。

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

从 Typescript 3.4 开始,您可以使用 as const 表示法:

const inputInlineStyle = 
  textAlign: 'center' as const
;

来源 - https://github.com/typestyle/typestyle/issues/281#issuecomment-535359254

【讨论】:

【参考方案2】:

您是否尝试过将textAlign 属性从string 类型更改为TextAlignProperty 类型?

【讨论】:

不知道在哪里定义TextAlignProperty

以上是关于CSSProperties TextAlignProperty 类型错误的主要内容,如果未能解决你的问题,请参考以下文章

React + Typescript:TypeScript 错误:类型“字符串”与类型“CSSProperties”没有共同的属性

LESS 中 CSS 选择器的转义语法

对象 args 中的键写为 [someKey] 时出现 TS2345 错误