微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

反应表格行不改变颜色样式被传入,但返回为未定义

如何解决反应表格行不改变颜色样式被传入,但返回为未定义

Green Dev here:我正在尝试有条件地更改反应表中的行颜色,并且样式被传入但返回为未定义。当我删除我的逻辑并简单地设置 backgroundColor: "red" 时,它通过了。但是,应用程序中的背景颜色实际上并没有改变。

   <Table
   columns={columnData}
   data={[...data]}
   divided
   getRowProps={(row) => ({
     style: {
       backgroundColor: rowColors[row.values.approval.ad?.status],},})}
 />```

我不明白为什么背景颜色不会改变。一旦可以,我可以尝试再次设置 backgroundColor: "red" 并查看它是否会改变颜色。如果它有效,那么我知道我的逻辑是问题所在,可以从那里开始。

这是控制台输出Console Output

有什么想法吗?

解决方法

由于您的代码没有抛出访问 row.values.approval.ad?.status 的异常,我们知道 rowvaluesapproval 是对象而不是未定义的。这使得 adstatus 未定义。考虑到您使用了 ad?. 语法,您预计广告至少有时是未定义的。

console.log(row.values.approval) 或简单的 console.log(row) 添加到您的渲染函数并检查缺少哪些值。您的问题很可能出在其他地方。

如果您认为错误确实出现在您显示的剪辑中,请尝试指定一个恒定颜色,例如:backgroundColor: "red"。如果该行是红色的,您就知道错误与我首先建议的内容有关。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。