【发布时间】:2020-06-22 09:57:04
【问题描述】:
我在我的 React 应用程序中使用来自 prime-react 的 DataTable 组件来创建数据表。我想在双击时更改行的颜色。但是,当单击另一行时,前一个突出显示的行的颜色应更改回原始颜色。我浏览了文档,但 prime-react 似乎没有提供更改行颜色的 API。那么实现这一目标的最佳方法是什么?
我可以像这样更改行颜色,但我看不到更改所有其他行的背景颜色的有效方法。另外,使用 vanilla JavaScript 修改 DOM 不是一个好习惯?
const highlightRow = event => {
event.originalEvent.currentTarget.classList.add('highlighted-row');
};
<DataTable
value={props.values}
onRowDoubleClick={event => highlightRow(event)}
>
CSS:
.highlighted-row {
background-color: blue;
}
【问题讨论】:
-
React 是一个声明性库,不是必须的。您应该保持行颜色的状态。所以在 rowDoubleClick 事件处理程序上你应该更新这个状态。
标签: javascript css reactjs primereact