用到了Table的rowClassName属性和onRow属性
首先说rowClassName
再说onRow
核心思想就是,通过onRow里面的事件(我们这里用点击事件)存储(点击这行的)索引。然后再通过rowClassName属性,把获得的索引与rowClassName的值(函数)的索引进行一一对比,只要它俩相等,就给这行单独加个类名。我们就可以给类名加样式了
具体代码如下
A.jsx
import React, { useEffect, useState } from 'react'
import { Radio, Checkbox, Space, Select, Input, Table, Button } from 'antd'
import './A.scss'export default function A() {const [oneData, setOneData] = useState([...])const columns = [...]return (<div className='box'><Tablecolumns={columns}dataSource={oneData}rowKey={(record) => record.id}rowClassName={(_, index) => (index === rowIndex ? 'rowBgColor' : '')}onRow={(record, index) => {return {onClick: () => {// 确定点击的是哪一行setRowIndex(index)},}}}/></div>)
}
A.scss
.box{// 点击某一行的样式.rowBgColor {background-color: #99bbff;}// 去除鼠标经过默认的背景颜色.ant-table-tbody>tr.ant-table-row:hover>td {background: none !important;}
}
本文发布于:2024-01-28 08:27:07,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17064016316104.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |