ProAntd+react+ts表格行点击高亮+表格联动

这篇博客介绍了如何在React应用中利用AdvancedTable组件的rowClassName属性,结合CSS样式,实现表格行被选中时的高亮效果。通过监听点击事件,根据不同类型更新省份、城市和区域信息,并在条件匹配时应用`selectHigh`类,达到行高亮的目的。
摘要由CSDN通过智能技术生成

原理

通过表格的rowClassName属性,给行添加类名
在这里插入图片描述

css代码

.selectHigh{
  background-color: rgb(234, 248, 258)!important;
}

tsx部分代码

  const handleRowClick = (e: any, record: any) => {
    let param = { type: record.type, key: record.key };
    switch (title) {
      case '省份':
        setProvinceInfo(param);
        break;
      case '城市':
        setCityInfo(param);
        break;
      case '区域':
        setCountyInfo(param);
        break;
      default:
        break;
    }
  };



return (<AdvancedTable
   columns={column}
   dataSource={data}
   tableClassName={'table' + tableName}
   bordered={false}
   rowKey="key"
   toolBarRender={false}
   search={false}
   loading={false}
   scroll={{ x: 'max-content' }}
   rowClassName={(record: any) => {
     if (
       (record.key == provinceInfo.key && title == '省份') ||
       (record.key == cityInfo.key && title == '城市') ||
       (record.key == countyInfo.key && title == '区域')
     ) {
       // 选中行高亮
       return `selectHigh`;
     }
     return '';
   }}
   onRow={(record) => {
     return {
       onClick: (e: any) => {
         handleRowClick(e, record);
       }, // 点击行
     };
   }}
   tableAlertRender={false}
   pagination={{
     current: pageNum,
     onChange: (page) => handlePageChange(page),
     total: data?.length,
     pageSize: 5,
     size: 'small',
     showSizeChanger: false,
     hideOnSinglePage: true,
   }}
 />)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值