javascript - 反应表格行不改变颜色。样式被传入,但返回未定义
问题描述
此处的绿色开发人员:我正在尝试有条件地更改反应表中的行颜色,并且样式已传入但返回为未定义。当我删除我的逻辑并简单地设置背景颜色:“红色”时,它通过了。但是,应用程序中的背景颜色实际上并没有改变。
<Table columns={columnData} data={[...data]} divided getRowProps={(row) => ({ style: { backgroundColor: rowColors[row.values.approval.ad?.status], }, })} />```
我不知道为什么背景颜色不会改变。一旦可以,我可以尝试再次设置 backgroundColor: "red" 并查看它是否改变颜色。如果它有效,那么我知道我的逻辑是问题所在,可以从那里开始。
这是控制台输出:控制台输出
有什么想法吗?
解决方案
由于您的代码没有抛出异常访问row.values.approval.ad?.status
,我们知道row
,values
并且approval
是对象而不是未定义。这留下了ad
或者status
未定义。考虑到您使用的ad?.
语法,您希望 ad 至少有时是未定义的。
将一个console.log(row.values.approval)
or 简单地添加console.log(row)
到您的渲染函数并检查缺少哪些值。您的问题很可能出在其他地方。
如果您认为错误确实出现在您显示的片段中,请尝试指定一个常量颜色,如下所示backgroundColor: "red"
:如果该行是红色的,你就知道我首先建议的错误。
推荐阅读
- ibm-cloud - 使用清单文件将 IBM Cloud Functions 部署到 IAM 名称空间中的 API
- c# - 如何在 Linq 中读取文本文件将行添加到 List<>
- css - bootstrap4 列和行
- r - 如何在 R 中格式化数据类型而不对其进行硬编码
- c# - 每次打开应用程序时,文本框都不写第一个字母
- java - HK2:使用即时范围绑定到接口的实现
- apache-kafka - Apache Kafka - 生产者 - 生产者之间的幂等性消息
- android - 如何计算firebase中子节点内的值的总和?
- java - 如何反编译 groovy 类文件?
- docker - 无法从 logstash docker 容器连接到 kafka docker 容器