关于antdesign-vue中表格customRender与scopedSlots共用问题的解决

这篇具有很好参考价值的文章主要介绍了关于antdesign-vue中表格customRender与scopedSlots共用问题的解决。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于antdesign-vue中表格customRender与scopedSlots共用问题的解决

第一次使用ant组件,感触很多,我们工作中我们使用的最多还是table,作为element的钉子户,ant把table分为了columns和data-source,看似灵活ant-table组件,其实配置项很复杂,语法也很复杂,今天就来说一说ant-table,我遇到的需求就是表格最下面出现统计需要合并单元格,先上图片
关于antdesign-vue中表格customRender与scopedSlots共用问题的解决,vue.js,javascript,前端
上面是ui图的效果,那我们最下面一行就需要合并单元格,来看代码:

//最后一行的第二个单元格开始合并,横向合并两个单元格,通过customRender
{
          title: 'xxxx',
          dataIndex: 'contractAmount',
          key: 'contractAmount',
          customRender: (text, record, index) => {
            const obj = {
              children: text,
              attrs: {},
            };
            if (index == this.data.length - 1) {
              obj.attrs.colSpan = 2;
              obj.attrs.align = 'center';
            }
            return obj;
          },
        }

但是第一个问题出现了,合并完后表格会多出一格,效果如下:
关于antdesign-vue中表格customRender与scopedSlots共用问题的解决,vue.js,javascript,前端
这个时间我们需要,手动将被合并的单元格,手动配置将自身干掉,将colspan改为0

{
          title: '完成量(吨)',
          dataIndex: 'completedAmount',
          key: 'completedAmount',
          customRender: (text, record, index) => {
            const obj = {
              children: text,
              attrs: {},
            };
            if (index == this.data.length - 1) {
              obj.attrs.colSpan = 0;//将colspan改为0
            }
            return obj;
          },
        },

这样我们的表格就正常,但是如果你合并的单元格有插槽的情况会有问题,我们继续来看
关于antdesign-vue中表格customRender与scopedSlots共用问题的解决,vue.js,javascript,前端
由于customRender会重构,这时我们的插槽是不生效的,这时我们需要用原生js活jq来解决这个问题,看代码:

{
          title: '履约详情',
          key: 'action',
          customRender: (text, record, index) => {
          //这里其实就是不用插槽,每一行手动创建一个元素并且用原生的方式绑定事件,再将record传出去,代替插槽的功能,这样就完成
            const child = this.$createElement('a', {
              domProps: {
                innerHTML: '查看详情',
              },
              on: {
                click: () => {
                  this.look(record);
                },
              },
            });
            const obj = {
              children: child,
              attrs: {},
            };
            if (index == this.data.length - 1) {
              obj.attrs.colSpan = 0;
            }
            return obj;
          },
        },

来看一眼最后的效果吧
关于antdesign-vue中表格customRender与scopedSlots共用问题的解决,vue.js,javascript,前端文章来源地址https://www.toymoban.com/news/detail-621006.html

到了这里,关于关于antdesign-vue中表格customRender与scopedSlots共用问题的解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ant-design-vue中table组件使用customRender渲染v-html

    ant-design-vue遇到table中列表数据需要高亮渲染 1、customRender可以使用,但是使用v-html发现不生效还报错 2、customRender函数返回肯定是jsx语法,于是发现这样写可以

    2024年02月15日
    浏览(37)
  • antdesign+vue+ts自定义上传文件customRequest,显示进度条onProgress,axios请求中断axios.CancelToken。

    customRequest里面有一个data参数,data包含了对file文件上传状态的操作:例如:onSuccess、onProgress、onError等 和file文件。 改变文件上传状态:可以通过改变fileList里面file的status和respones。 踩坑: 1、在customRequest文件上传完成以后,会自动重新更新一下fileList文件。上传之前挂载在

    2023年04月25日
    浏览(27)
  • 关于tex中的表格设置

    将下面的代码放在table环境内,放在tabular环境外 == 调整表格宽度和高度==: resizebox{textwidth}{2cm}{%第一个{}是表格宽度, 第二个{}是表格高度 begin{tabular} XXXX end{tabular} } %12可随机设置,调整到适合自己的大小为止 调整列间距: setlength{tabcolsep}{7mm}{ begin{tabular} XXXX end{tabul

    2024年01月21日
    浏览(18)
  • Table表格(关于个人介绍与图片)

    展开行:

    2024年04月23日
    浏览(21)
  • 【AntDesign】Docker部署

    docker部署是主流的部署方式,极大的方便了开发部署环境,保持了环境的统一,也是实现自动化部署的前提。 dist: 使用build打包命令,生成的打包目录 npm run build : 打包项目命令 docker: 存放docker容器需要修改的配置目录,比如 nginx配置 Dockerfile: 跟项目根目录同级 内容 查找n

    2024年02月05日
    浏览(17)
  • 【AntDesign】多环境配置和启动

    环境分类,可以分为 本地环境、测试环境、生产环境等,通过对不同环境配置内容,来实现对不同环境做不同的事情。 AntDesign 项目,通过 config.xxx.ts 添加不同的后缀来区分配置文件,启动时候通过后缀启动即可。 config .ts : 公共配置 config.xxx.ts :不同环境的差异配置 通过代

    2024年02月08日
    浏览(22)
  • 关于element-ui表格 鼠标悬停背景颜色修改问题

    element-ui鼠标悬停时行背景色默认为白色,当表格字体为白色时容易看不到文字,因此需要修改鼠标悬停时的背景色。 html使用el-table后,在css样式中添加以下代码即可修改鼠标悬停后的背景色。(未使用scss和less) 同时补充鼠标点击后行高亮颜色修改,需要在el-table标签内添加

    2024年02月11日
    浏览(39)
  • react + antDesign新手进阶学习指南

    基础知识点 1、react中的状态管理。         和vue中的状态管理有些相似,只不过react中是依托于mobx的。         举例写法: 2、react中的变量声明方式。         在react中使用变量有两种方式,一种是利用store中的变量,动态改变数据,一种是利用useState。         举例

    2024年02月11日
    浏览(40)
  • 【AntDesign】封装全局异常处理-全局拦截器

    目录 场景 1 定义全部异常处理类 2 替换request引用 3 代码优化 总结 本文前端用的是阿里的Ant-Design框架,其他框架也有全局拦截器,思路是相同,具体实现自行百度下吧 因为每次都需要调接口,都需要单独处理异常情况(code !=0),因此前端需要对后端返回的通用响应进行统

    2024年02月08日
    浏览(32)
  • 关于Unity使用Aspose.Words创建表格单元格垂直合并不生效情况说明

    👉一、前言 最近在使用Aspose.Words.dll实现创建表格功能时,遇到了一个让我费解了好几天的问题——单元格垂直合并失效。我都快要怀疑人生了都,关键是它水平合并没问题,而且创建别的表格垂直合并也没问题;况且经过我反复测试,代码逻辑也是没有问题的,你说这气不

    2023年04月11日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包