portable实现多选

全部代码

import ProTable, { ProColumns, TableDropdown, ActionType } from '@ant-design/pro-table';
import React, { useState, useRef, useEffect } from 'react';
import {Input,Button} from 'antd'


const Test = () => {
    const actionRef = useRef();
    const [id,setId]  = useState();       //行号存取的中间参数
    const [selectedRowKeys,setSelectedRowKeys] = useState();  //获取row行号
    const [selectedRows,setSelectRows] = useState();   //获取row行的值
    const [rowData,setRowData] = useState([])   //行内容的存取的中间参数

    const rowSelection = {
        selectedRowKeys,
        onChange:(selectedRowKeys,selectedRows)=>{
            var con = selectedRowKeys
            var tent = selectedRows
            con.concat(id)
            tent.concat(rowData)
            setSelectedRowKeys(con)
            setSelectRows(rowData)
            console.log('row的值=',selectedRowKeys)
            console.log('所选中row的值=',selectedRows)

        }
    }
    return(
        <ProTable
            headerTitle='pro表格'
            columns={columns}
            request={(params, sorter, filter) => {
                console.log('请求的数据=',params, sorter, filter)
            }}
            defaultData={defaultData}
            rowSelection={rowSelection}
            // onRowClick
            onRow = {
                (record,rowKey) => ({
                    
                    onChange:()=>{
                        console.log('获取行的相关信息=',record)
                    // console.log('改之前的id=',id)
                        setRowData(record)
                        setId(rowKey)
                        // console.log('这一行的id=',rowData)
                    }
                
                    
                })
            }
            actionRef={actionRef}
            options={true}
            pagination={{
                defaultCurrent: 10,
                defaultPageSize:10,
                defaultkeyword:3,
            }}
            rowKey={(record,index)=>index}
            expandable={{expandedRowRender}}
        >
        </ProTable>
    )
}

export default Test;

代码解读

const rowSelection = {
        selectedRowKeys,
        selectedRows,
        onChange:(selectedRowKeys,selectedRows)=>{
            var con = selectedRowKeys
            var tent = selectedRows
            ****  //con临时保存更新的所选中的行号
            ****  //tent临时保存更新的所选中行的内容
            ****  //将两者使用usestate的方式保存状态
            con.concat(id)   
            tent.concat(rowData)
            setSelectedRowKeys(con)
            setSelectRows(rowData)
            console.log('row的值=',selectedRowKeys)
            console.log('所选中row的值=',selectedRows)

        }
    }
  

  onRow = {
                  (record,rowKey) => ({
                      onChange:()=>{
                          console.log('获取行的相关信息=',record)
                          
                       ****   //setRowData存入选中行rowData,作为中间变量
                       ****   //setId存入选中行号Id,作为中间变量
                          
                          setRowData(record)
                          setId(rowKey)
                      }
                  })
              }
    rowKey={(record,index)=>index}     //获取行号
    rowSelection={rowSelection}        //一个{}才能执行
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值