首页 > 其他分享 >使用JS来开发ProComponents的ProTable案例

使用JS来开发ProComponents的ProTable案例

时间:2024-02-06 11:35:56浏览次数:34  
标签:const name 清空 JS key ProTable ProComponents setSelectedRows

ProComponents 的 ProTable 组件是基于 React 和 TypeScript 开发的,但也可以在 JavaScript 项目中使用。以下是一个使用 JavaScript 的 ProTable 示例:

import { useState, useRef } from 'react';
import { Button } from 'antd';
import ProTable from '@ant-design/pro-table';

const columns = [
  {
    title: '名称',
    dataIndex: 'name',
    key: 'name',
  },
  {
    title: '年龄',
    dataIndex: 'age',
    key: 'age',
  },
  {
    title: '地址',
    dataIndex: 'address',
    key: 'address',
  },
];

const dataSource = [
  { key: '1', name: '张三', age: 18, address: '北京市海淀区' },
  { key: '2', name: '李四', age: 22, address: '上海市浦东新区' },
];

const Demo = () => {
  const tableRef = useRef(null);
  const [selectedRows, setSelectedRows] = useState([]);

  const handleClearSelection = () => {
    setSelectedRows([]);
    tableRef.current.clearSelectedRows();
  };

  return (
    <div>
      <Button onClick={handleClearSelection}>清空选中行</Button>
      <ProTable
        rowKey="key"
        columns={columns}
        dataSource={dataSource}
        actionRef={tableRef}
        rowSelection={{
          onChange: (selectedRows) => setSelectedRows(selectedRows),
          selectedRowKeys: selectedRows.map((row) => row.key),
        }}
      />
    </div>
  );
};

export default Demo;

  在这个示例中,我们使用 useStateuseRef 来管理状态和引用,而不是使用 TypeScript 中的类型。我们定义了 columnsdataSource 数组来配置表格,然后将它们传递给 ProTable

组件。我们还使用 actionRef 属性将表格引用存储在 tableRef 中,以便能够在其他地方操作表格,例如清空选中行。

我们还在表格中启用了行选择功能,并使用 useState 来存储选中的行。在清空按钮的点击事件中,我们调用 setSelectedRows 来清空选中行状态,并通过

tableRef.current.clearSelectedRows() 方法清空表格中的选中行。

希望这个示例能对您有所帮助!如果您还有其他问题,请随时提问。

  转自:chatGPT    

标签:const,name,清空,JS,key,ProTable,ProComponents,setSelectedRows
From: https://www.cnblogs.com/wwssgg/p/18009435

相关文章

  • nodejs中实现sm4加解密
    SM4是中国密码局颁布的一种分组密码算法,也称为国密SM4。它是基于对称密钥加密算法的一种分组密码算法,具有较高的安全性和较快的加密速度。SM4使用128位的密钥和128位的分组进行加密。sm-crypto是一个支持国密SM2、SM3、SM4等算法的Node.js加密库。要使用sm-crypto库......
  • JS数组添加元素的三种方式
    JS数组添加元素的三种方式1、push()结尾添加数组.push(元素)参数描述newelement1必需。要添加到数组的第一个元素。newelement2可选。要添加到数组的第二个元素。newelementX可选。可添加多个元素。2、unshift()头部添加数组.unshift(元素)参数描述newelement1必......
  • flutter 美化json 输出
    由于数组和字典被一样显示不直观转为json后美化输出字符串长度超过一定长度后被控制台截断利用正则800一行切分后输出voidprettyJsonString(list){StringjsonString=jsonEncode(list);JsonEncoderencoder=JsonEncoder.withIndent('');String......
  • 32-Java中字符串、json、map之间的互相转换
    Java中字符串、json、map之间的互相转换 1.map转String、jsonObject对象packagemap;importjava.util.HashMap;importjava.util.Objects;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;publicclassMapDemo3{publicstatic......
  • CommonJS、AMD、CMD、ES Module
    依赖前置和依赖就近RequireJS采用依赖前置,举个例子就是炒菜前一次性把所有食材洗好,切好,根据内部逻辑把有些酱料拌好,最后开始炒菜,前面任何一个步骤出现问题都能较早发现错误;SeaJS的依赖就近就是要炒青椒了去切青椒要炒肉了去切肉cmd:例如seajsamd:例如requirejscommonjs模块规范nod......
  • 利用Jquery Lazyload JS插件实现网页图片延迟加载
    JqueryLazyload是一款网页图片延迟加载JS插件,本文介绍该JS的使用方法。最新的jquerylazyload可以单独使用(即不依赖jquery),本文介绍的是依赖jquery的使用及配置方法。Github项目地址:https://github.com/tuupola/lazyload本文使用的是1.9.7版本(实际与1.9.6版本一致)首先需要引用......
  • js 用户代理检测
    Opera在用户代理字符串方面引发争议最大的一个浏览器就是Opera。Opera默认的用户代理字符串是所有现代浏览器中最符合逻辑的,因为它正确标识了自己和版本。在Opera8之前,其用户代理字符串都是这个格式:比如,WindowsXP上的Opera7.54的字符串是这样的:Opera8发布后,语言标记从......
  • js Konqueror 和 KHTML 的版本号
    WebKit2003年,苹果宣布将发布自己的浏览器Safari。Safari的渲染引擎叫WebKit,是基于Linux平台浏览器Konqueror使用的渲染引擎KHTML开发的。几年后,WebKit又拆分出自己的开源项目,专注于渲染引擎开发。这个新浏览器和渲染引擎的开发者也面临与当初IE3.0时代同样的问题:怎......
  • js 基于能力检测进行浏览器分析
    虽然可能有人觉得能力检测类似于黑科技,但恰当地使用能力检测可以精准地分析运行代码的浏览器。使用能力检测而非用户代理检测的优点在于,伪造用户代理字符串很简单,而伪造能够欺骗能力检测的浏览器特性却很难。检测特性可以按照能力将浏览器归类。如果你的应用程序需要使用特定的浏......
  • js 浏览器元数据
    navigator对象暴露出一些API,可以提供浏览器和操作系统的状态信息。GeolocationAPInavigator.geolocation属性暴露了GeolocationAPI,可以让浏览器脚本感知当前设备的地理位置。这个API只在安全执行环境(通过HTTPS获取的脚本)中可用。这个API可以查询宿主系统并尽可能精确......