首页 > 其他分享 >react+ antd 表格筛选

react+ antd 表格筛选

时间:2023-01-29 23:46:34浏览次数:50  
标签:pagination 表格 react filter1 filters filter2 antd 筛选

表格的筛选事件是在table的onchange中发生的,其选中值在onchange的参数2中,参数1是分页器

//  应先定义pagination,这一步是为了第一次请求数据时配置pagination相关
 const [pagination, setPagination] = useState({
    showQuickJumper: true,
    showSizeChanger: true,
    pageSize: 10,
    current: 1, //当前页码 
    total: 0, // 总条数
    showTotal: (totals, range) => `共${totals}条`,
  })
// 通常,onchange事件总是与初次请求函数一起使用,此时,如何做到兼容性就是一个及大的问题
// 初加载时请求表格数据  
useEffect(() => {
//pagination作为实参,标识上方定义的usestate
    getPageTableResource(pagination)
  }, [])

//思路:filter1,filter2初始化时就需要传入,因而需要赋值为空,而后来的"...filters"则是筛选态下同名的筛选参数,作为最后加入的filters,会将上述的选 filter1,filter2覆盖掉,而在第一次加载时,由于是undefined,所以不会对 filter1,filter2造成影响,或者也可以将形参filters赋为空对象
 const getPageTableResource = (pagination, filters) => {
    const { current: page, pageSize: limit } = pagination
    axios.post({
      //other augs
       page, limit,
        filter1:[],
        filter2:[],
       ...filters
    }).then(res=>{

    // 赋值
  })
}

dom :

          <Table columns={assignSpecinfoTableHeader}
            rowKey={(_, index) => index}
            pagination={pagination}
            onChange={(pagination, filters) => {
              // 分页动作 或者筛选时,触发该函数 
              getPageTableResource(pagination, filters)
            }}
          />

总结:初加载时要将筛选值赋值为空,请求函数需要带上pagination,change时要带参数2并且在最后展开,这一步是为了将同名参数覆盖掉(也就是赋空值的那些筛选key)

无法表达太清晰,看代码吧

以上。

标签:pagination,表格,react,filter1,filters,filter2,antd,筛选
From: https://www.cnblogs.com/hjk1124/p/17074113.html

相关文章

  • 一文详解如何在基于webpack5的react项目中使用svg
    本文主要讨论基于webpack5+TypeScript的React项目(cra、craco底层本质都是使用webpack,所以同理)在2023年的今天是如何在项目中使用svg资源的。首先,假定您已经完成基于webpac......
  • react组件实例属性props
    propsprops简单使用classPersonextendsReact.Component{render(){return(<ul>......
  • 如何在react中使用bind方法?
    JavaScript自身特性说明如果传递一个函数名给一个变量,之后通过函数名()的方式进行调用,在方法内部如果使用this则this的指向会丢失,为了避免这种情况的出现,我们可以使用bind......
  • 使用Python实现高效摸鱼,批量识别银行卡号码并且自动写入Excel表格
    每当有新员工入职,人事小姐姐都要收集大量的工资卡信息,并且生成Excel文档,看到小姐姐这么辛苦,我就忍不住要去帮她了…于是我用1行代码就实现了自动识别银行卡信息并且自......
  • React --- jsx语法规则
    jsx语法规则:1、定义虚拟dom时,不要写引号//创建虚拟DOM 1constVDOM=<h1><span>hello,react</span></h1> 2、标签中混入JS表达式时要用{}1//定义属性和标签内容2c......
  • elementui表格封装
    <template><divid="commonTable"><divclass="common_table"><el-table:data="tableData"ref="multipleTable"v-loading="loading"......
  • CAD插入表格后怎么填写内容?
    在CAD设计过程中,经常会需要插入表格,例如:材料表、明细表、图样目录表等。那么,你知道CAD插入表格后怎么填写内容吗?本文小编就以浩辰CAD软件为例来给大家分享一下CAD插入表格......
  • Axure 表格中根据条件设置不同的字体样式--中继器
    中继器+表格,根据条件设置不同的字体样式思路:根据情形,设置不同的颜色,因为Axure不能直接对元件的样式进行交互设置,所以借助【动态面板】进行设置绘制表格详见:https://www......
  • JS_13_操作表格对象
    表格对象的rows属性可获得所有的行对象。行对象的cells属性可获得所有的列对象。 删除行对象://获取行对象的角标行对象.rowIndex;//通过角标删除行对象表格对象.de......
  • JQuery动态为表格(Table)添加和删除行
    <!DOCTYPEhtml><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title></title><scr......