要将悬停规则添加到CSS className中,以便在React-Table中对悬停时的特定行进行着色,可以按照以下步骤进行操作:
import './table.css'; // 或者 import styles from './table.module.css';
:hover
伪类选择器来指定悬停时的样式。.table-row:hover {
background-color: #f5f5f5;
}
<ReactTable
data={data}
columns={columns}
getTrProps={(state, rowInfo) => {
if (rowInfo && rowInfo.row) {
return {
className: rowInfo.index === hoveredRowIndex ? 'table-row' : ''
};
}
return {};
}}
/>
在上述代码中,hoveredRowIndex
是一个状态变量,用于存储当前悬停的行索引。根据该变量的值,为特定行添加table-row
类名,从而应用悬停时的样式。
hoveredRowIndex
的值,并在鼠标悬停和离开行时更新该值。import React, { useState } from 'react';
function Table() {
const [hoveredRowIndex, setHoveredRowIndex] = useState(null);
const handleRowHover = (index) => {
setHoveredRowIndex(index);
};
const handleRowLeave = () => {
setHoveredRowIndex(null);
};
return (
<ReactTable
data={data}
columns={columns}
getTrProps={(state, rowInfo) => {
if (rowInfo && rowInfo.row) {
return {
className: rowInfo.index === hoveredRowIndex ? 'table-row' : '',
onMouseEnter: () => handleRowHover(rowInfo.index),
onMouseLeave: handleRowLeave
};
}
return {};
}}
/>
);
}
通过上述步骤,你可以将悬停规则添加到CSS className中,以便在React-Table中对悬停时的特定行进行着色。请注意,上述代码中的table.css
应该是你自己定义的CSS文件,其中包含了悬停时的样式规则。