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下判断是否为闰年的Datetime包
Oct 26 Javascript
jQuery+css实现图片滚动效果(附源码)
Mar 18 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
May 26 Javascript
BootStrap智能表单实战系列(七)验证的支持
Jun 13 Javascript
浅谈jQuery双事件多重加载的问题
Oct 05 Javascript
原生js实现打字动画游戏
Feb 04 Javascript
JS实现移动端实时监听输入框变化的实例代码
Apr 12 Javascript
Javascript中的async awai的用法
May 17 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
Sep 12 jQuery
Vue 组件(component)教程之实现精美的日历方法示例
Jan 08 Javascript
JavaScript 中的12种循环遍历方法【总结】
May 31 Javascript
node.js使用stream模块实现自定义流示例
Feb 13 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
php三维数组去重(示例代码)
2013/11/26 PHP
PHP采集静态页面并把页面css,img,js保存的方法
2014/12/23 PHP
PHP中使用Imagick读取pdf并生成png缩略图实例
2015/01/21 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
使用TextRange获取输入框中光标的位
2006/10/14 Javascript
jQuery-Easyui 1.2 实现多层菜单效果的代码
2012/01/13 Javascript
js模拟点击事件实现代码
2012/11/06 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
jquery 删除cookie失效的解决方法
2013/11/12 Javascript
jQuery 中国省市两级联动选择附图
2014/05/14 Javascript
使用Node.js实现一个简单的FastCGI服务器实例
2014/06/09 Javascript
Node.js中的事件驱动编程详解
2014/08/16 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
2016/11/25 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
html5+canvas实现支持触屏的签名插件教程
2017/05/08 Javascript
纯JS实现的读取excel文件内容功能示例【支持所有浏览器】
2018/06/23 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
微信小程序实现的一键拨号功能示例
2019/04/24 Javascript
利用JavaScript将Excel转换为JSON示例代码
2019/06/14 Javascript
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
布同自制Python函数帮助查询小工具
2011/03/13 Python
Python 描述符(Descriptor)入门
2016/11/20 Python
Django REST framework 分页的实现代码
2019/06/19 Python
python gdal安装与简单使用
2019/08/01 Python
django使用多个数据库的方法实例
2021/03/04 Python
美国电子产品购物网站:BuyDig.com
2020/06/17 全球购物
Java程序员常见面试题
2015/07/16 面试题
国际贸易专业个人职业生涯规划
2014/02/15 职场文书
大型主题婚礼活动策划方案
2014/09/15 职场文书
交通安全教育心得体会
2016/01/15 职场文书
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python
MySQL导致索引失效的几种情况
2022/06/25 MySQL
python中使用redis用法详解
2022/12/24 Redis