reactjs 属性“pk12”的类型不兼容

jq6vz3qz  于 2023-03-17  发布在  React
关注(0)|答案(2)|浏览(137)

这有什么不对吗?

if (isClampSupported) {
  const clampStyling = {
    display: '-webkit-box',
    WebkitLineClamp: lines,
    WebkitBoxOrient: 'vertical',
    overflow: 'hidden',
    textOverflow: 'ellipsis',
  };
  return (
    <div style={clampStyling}>{children}</div>
  )
}

style=呈红色波浪形,显示:
类型'{显示:字符串; WebkitLineClamp:数|未定义; WebkitBoxOrient:字符串;溢出:字符串;文本溢出:string; }“不能赋给类型”Properties|number,string & {}〉“。属性”WebkitBoxOrient“的类型不兼容。类型”string“不能赋给类型”BoxOrient|未定义'. ts(2322)索引.d.ts(1841,9):预期类型来自属性“style”,该属性在此处对类型“DetailedHTMLProps〈HTMLAttributes,HTMLDivElement〉”(JSX属性)HTMLAttributes.style?:React. CSS属性声明|未定义的
如何修复?

如果我将其更改为小写的webkitBoxOrient,它会在控制台中记录一条警告,内容如下:
警告:不支持的供应商前缀样式属性webkitBoxOrient。您是指WebkitBoxOrient吗?

ovfsdjhp

ovfsdjhp1#

尝试像内联样式一样:

if (isClampSupported) {
  return (
    <div style={{
    display: '-webkit-box',
    WebkitLineClamp: lines,
    WebkitBoxOrient: 'vertical',
    overflow: 'hidden',
    textOverflow: 'ellipsis',
  }}>{children}</div>
  );
}
xesrikrc

xesrikrc2#

解决办法很简单:

...
WebkitBoxOrient: 'vertical' as const,
...

相关问题