使用 Material 表库。 我想复制此示例中显示的行为。
https://codesandbox.io/s/table-hover-colors-zw9nt
https://www.npmjs.com/package/material-table https://material-table.com/#/
我正在考虑使用 onRowClick={}
逻辑是
onRowClick =>
- 在组件状态中设置值,将点击的行背景呈现为不同的颜色
- 将所有其他行设置为原始颜色的背景
我可以使用基于状态值的条件渲染来更改背景。虽然这会改变所有行的背景。
options={
rowStyle:{backgroundColor: this.state.selected ? '#fff' : this.state.c}
}
我当前的工作示例在这里 https://codesandbox.io/s/peaceful-haibt-2nefw
感谢您的帮助
最佳答案
您还需要传递 selectedRowId
否则一切都是蓝色的。此外,rowStyle
选项接受一个回调,您可以像这样调用它:
rowStyle: rowData => ({
backgroundColor: this.state.selected && rowData.tableData.id === this.state.selectedRowId
? this.state.c
: "#fff"
})
您的 onRowClick
还需要一些工作(选择/取消选择条件不正确)。
https://codesandbox.io/embed/select-one-row-160vm
关于reactjs - Material 表如何选择一行在选择时更改背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58159987/