如何解决反应表格行不改变颜色样式被传入,但返回为未定义
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
的异常,我们知道 row
、values
和 approval
是对象而不是未定义的。这使得 ad
或 status
未定义。考虑到您使用了 ad?.
语法,您预计广告至少有时是未定义的。
将 console.log(row.values.approval)
或简单的 console.log(row)
添加到您的渲染函数并检查缺少哪些值。您的问题很可能出在其他地方。
如果您认为错误确实出现在您显示的剪辑中,请尝试指定一个恒定颜色,例如:backgroundColor: "red"
。如果该行是红色的,您就知道错误与我首先建议的内容有关。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。