antd组件的Table,点击某一行,让这行整体变色

阅读: 评论:0

antd组件的Table,点击某一行,让这行整体变色

antd组件的Table,点击某一行,让这行整体变色

用到了Table的rowClassName属性和onRow属性

首先说rowClassName

  • 它的值是一个函数,参数有两个,第一个是当前行数据,第二个是索引

再说onRow

  •  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小时内删除。

标签:这行   组件   antd   Table
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23