antd中table展开行默认展示,且不需要前边的加号操作


Posted in Javascript onNovember 02, 2020

如下所示:

antd中table展开行默认展示,且不需要前边的加号操作

前边不显示+,并且详细信息默认展开

在table中配置

<Table
 expandedRowKeys={this.store.chargeTableData.map(item => item.key)} //展开的行
 expandIconAsCell={false}
 expandIconColumnIndex={-1}
 bordered     //展示边框
 defaultExpandAllRows={true}  //初始时展开所有行
 pagination={{ pageSize: 5 }}  //分页器
 expandedRowRender={this.expandedRowRender} //额外展开的行
 columns={columns}    //数据
 dataSource={this.store.chargeTableData} //数据数组
 />

补充知识:antd Table 利用自己生成cell结合expandedRowKeys配置,实现任意cell控制展开列

因为项目需要,antd实现一个形如这样的表格

antd中table展开行默认展示,且不需要前边的加号操作

但是奈何翻了好几遍api文档并没有发现这样的东西,只好自己改造了,

首先table是这样的

<Table 
  columns={this.columns}
  dataSource={tableData} 
  bordered 
  pagination={false}
  size='small'
  expandIconAsCell={false} 
  expandIconColumnIndex={-1}
  expandedRowRender={record=>this.expandedRowTable(record)}
  expandedRowKeys={this.state.expandArray}
  />

实现了隐藏自带按钮、并确定了控制展开行的数组,

接下来就是控制数组了,

先绑定下方法

onClick={()=>this.expandTable(row)}

然后 是点击cell的方法

expandTable = row =>{
 const filtered = this.state.expandArray
 const text = this.state.expandBtnText 
 if(this.state.expandArray.includes(row.key)){
 filtered.splice(filtered.findIndex(element => element === row.key),1 );
 this.expandTdNum(parseInt(row.key,10),'reduce') 
 text[parseInt(row.key,10)-1] = '详情'
 }else{
 filtered.push(row.key)
 this.expandTdNum(parseInt(row.key,10),'add') 
 text[parseInt(row.key,10)-1] = '关闭' 
 }
 this.setState({
 expandArray:filtered,
 })

最后控制数组的方法

expandTdNum = (key,operation) =>{
 let temp = 0
 if(operation==='add'){
  temp++
 }else if(operation==='reduce'){
 temp--
 }else{
 return false
 }
 if(key>0 && key<7){
 this.setState({
  firstTdNum:this.state.firstTdNum + temp,
 })
 }else if(key>6 && key<10){
 this.setState({
  middleTdNum:this.state.middleTdNum + temp,
 })
 }else if(key>9 && key<13){
 this.setState({
  lastTdNum:this.state.lastTdNum + temp,
 })
 }
 }

以上这篇antd中table展开行默认展示,且不需要前边的加号操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript中的isNaN函数使用说明
Nov 10 Javascript
Jquery写一个鼠标拖动效果实现原理与代码
Dec 24 Javascript
JS打开新窗口的2种方式
Apr 18 Javascript
js open() 与showModalDialog()方法使用介绍
Sep 10 Javascript
AJAX跨域请求json数据的实现方法
Nov 11 Javascript
引用 js在IE与FF之间的区别详细解析
Nov 20 Javascript
一个js导致的jquery失效问题的解决方法
Nov 27 Javascript
JS实现动态给图片添加边框的方法
Apr 01 Javascript
jQuery通过deferred对象管理ajax异步
May 20 Javascript
Bootstrap基本样式学习笔记之表单(3)
Dec 07 Javascript
微信小程序 switch组件详解及简单实例
Jan 10 Javascript
JavaScript实现三级级联特效
Nov 05 Javascript
React Ant Design树形表格的复杂增删改操作
Nov 02 #Javascript
vue缓存之keep-alive的理解和应用详解
Nov 02 #Javascript
详解vue-router的导航钩子(导航守卫)
Nov 02 #Javascript
vue+elementUI中表格高亮或字体颜色改变操作
Nov 02 #Javascript
vue element-ui中table合计指定列求和实例
Nov 02 #Javascript
vue 动态添加class,三个以上的条件做判断方式
Nov 02 #Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
Nov 02 #Javascript
You might like
对Session和Cookie的区分与解释
2007/03/16 PHP
细谈php中SQL注入攻击与XSS攻击
2012/06/10 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
Zend Framework实现留言本分页功能(附demo源码下载)
2016/03/22 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
php curl优化下载微信头像的方法总结
2018/09/07 PHP
jquery 单击li防止重复加载的实现代码
2010/12/24 Javascript
利用javascript的面向对象的特性实现限制试用期
2011/08/04 Javascript
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
2013/11/20 Javascript
js中AppendChild与insertBefore的用法详细解析
2013/12/16 Javascript
jquery的each方法使用示例分享
2014/03/25 Javascript
javascript实现避免页面按钮重复提交
2015/01/08 Javascript
jQuery验证插件validation使用指南
2015/04/21 Javascript
jQuery使用animate实现ul列表项相互飘动效果示例
2016/09/16 Javascript
解析Angular 2+ 样式绑定方式
2018/01/15 Javascript
Angular实现的进度条功能示例
2018/02/18 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
2020/03/07 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
[48:41]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
[49:11]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.20
2020/12/23 DOTA
python 系统调用的实例详解
2017/07/11 Python
python opencv 直方图反向投影的方法
2018/02/24 Python
python带参数打包exe及调用方式
2019/12/21 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
python中pandas库中DataFrame对行和列的操作使用方法示例
2020/06/14 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
俄罗斯眼镜网: optikaworld
2016/07/31 全球购物
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
彪马俄罗斯官网:PUMA俄罗斯
2019/07/13 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
二手房购房意向书范本
2014/04/01 职场文书
运动会方队口号
2014/06/07 职场文书
劳动仲裁调解书
2015/05/20 职场文书
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
2022/05/30 NodeJs