Table组件中行数据点击实现高亮效果
- 第一步:在state中定义是否添加样式标记值
constructor(props) {
super(props);
this.state = {
rowActiveIndex: null,
};
}
- 第二步: 向Table组件传递属性
rowClassName
及onRow
,如下图:
<StandardTable
search={false}
bordered={false}
rowKey="serialNo"
size="small"
tableAlertRender={false}
pagination={false}
dataSource={receiptsList}
request={this.getTableDataSource}
columns={inboundReceiptColumns}
rowClassName={(_, index) => (rowActiveIndex === index ? 'row-active row-normal' : 'row-normal')}
onRow={(record, index) => ({
onClick: () => this.hangdleInboundReceiptClick(index)
})}
/>
- 实现
hangdleInboundReceiptClick
行点击事件
hangdleInboundReceiptClick = (rowActiveIndex) => {
this.setState({
rowActiveIndex
});
};
注意:
row-normal
类名,在这里仅仅添加了鼠标放在行上面显示手势效果
。
row-active
类名,是所要添加的样式,可修改行点击后字体颜色。亦可添加颜色,当修改背景颜色时,要修改Table
组件的默认鼠标悬停样式
.ant-table-tbody > tr.ant-table-row:hover > td {
background-color: '自己想要的颜色或者none'
}