自定义antd table/proTable列宽拖动组件,区别于react插件

        没有使用github上的插件,自己定义了一个列宽拖动组件,并且实现了缓存等功能,
目前网上的基于antd pro的表格列宽拖动插件,使用起来很不方便,,他是实时改变表格列宽的,        
        所以在性能上,拖动速度上,都极容易出现问题,
索性自己基于component API,自定义实现了一个,

我详细的罗列了具体的步骤,代码可以直接复制去用,封装好了的组件,记得别忘记less文件,
然后表格的每一个列需要有初始宽度,链接在下面,也是我自己的文章,


懒得发第二遍了,直接上链接:
https://juejin.cn/post/7394266583181295643

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现动态生成Table组件的columns,可以使用React的状态管理来实现。具体步骤如下: 1. 定义一个state来保存columns数组。初始值可以为一个空数组。 ```javascript const [columns, setColumns] = useState([]); ``` 2. 在组件加载时,从数据源获取表头数据,并根据数据动态生成columns数组,然后将其保存到state中。 ```javascript useEffect(() => { // 获取表头数据 const headers = fetchDataFromAPI(); // 根据表头数据动态生成columns数组 const newColumns = headers.map((header) => ({ title: header.name, dataIndex: header.field, })); // 保存columns数组到state中 setColumns(newColumns); }, []); ``` 3. 在Table组件中使用动态生成的columns数组。 ```javascript <Table dataSource={data} columns={columns} /> ``` 完整代码如下: ```javascript import React, { useState, useEffect } from 'react'; import { Table } from 'antd'; function DynamicTable() { const [columns, setColumns] = useState([]); useEffect(() => { // 获取表头数据 const headers = fetchDataFromAPI(); // 根据表头数据动态生成columns数组 const newColumns = headers.map((header) => ({ title: header.name, dataIndex: header.field, })); // 保存columns数组到state中 setColumns(newColumns); }, []); const data = [ { key: '1', name: 'John Brown', age: 32, address: 'New York No. 1 Lake Park', }, { key: '2', name: 'Jim Green', age: 42, address: 'London No. 1 Lake Park', }, { key: '3', name: 'Joe Black', age: 32, address: 'Sidney No. 1 Lake Park', }, ]; return <Table dataSource={data} columns={columns} />; } export default DynamicTable; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值