CSSProperties TextAlignProperty 类型错误

kka*_*gil 2 typescript reactjs

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

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

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

 const inputInlineStyle: IInputInlineStyle = {
            padding,
            textAlign
        };

Run Code Online (Sandbox Code Playgroud)

但是我收到了这个错误信息。

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

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

类型 'string' 不可分配给类型 'TextAlignProperty'。

我该如何解决这个问题?

小智 6

从 Typescript 3.4 开始,您可以使用as const符号:

const inputInlineStyle = {
  textAlign: 'center' as const
};
Run Code Online (Sandbox Code Playgroud)

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


小智 -1

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