Element el-table的formatter和scope template不能同时存在问题解决办法

 更新时间:2022年08月14日 08:38:23   作者:前热火球员LeBron James  
本文主要介绍了ElementUI el-table 的 formatter 和 scope template 不能同时存在问题解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、需求:公司项目中一个需要展示文件信息table表,考虑到文件大小字段展示值后面要加上单位(B,KB,MB,GB),文件大小字段后端没有进行单位转换,准备在前端拿到后转换并且加上单位。

二·、问题:很容易想到了el-table组件formatter属性:

在这里插入图片描述

我在el-table-column里面添加属性,进行打印测试,一直不生效,后来经过排查发现事template中插槽作用域导致的,也就是formatter作用于单个字段(即一个el-table-column)就是下面这种:

在这里插入图片描述

而我的项目用的是scope template插槽,就是下面这种结构:

在这里插入图片描述

这样就产生了问题。

三、解决办法:使用slot,自定义 formatter。上代码:

1.html:

          <div v-else-if="item.prop === 'file_size'">
            <span v-html="formatter(scope.row.file_size, item.prop)"></span>
          </div>

方法中第一个参数为对象值(即value),第二个参数为对象字段(即key)

2.js:

    methods: {
      formatter(row, value) {
        if (value == "file_size") {
          if (row < 1024) {
            return row + "B"
          } else if (row < 1024*1024) {
            return (Number(row) / 1024).toFixed(3) + "KB"
          } else if (row < 1024*1024*1024) {
            return (Number(row) / 1024 / 1024).toFixed(3) + "MB"
          } else {
            return (Number(row) / 1024 / 1024 / 1024).toFixed(3) + "GB"
          }
        }
      },
    }

四、最后展示效果:

在这里插入图片描述

参考资料:

ishell1021
moranrun
Element组件官方文档

到此这篇关于Element el-table的formatter和scope template不能同时存在问题解决办法的文章就介绍到这了,更多相关el-table 的 formatter 和 scope template内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue使用mui遇到的坑及解决

    vue使用mui遇到的坑及解决

    这篇文章主要介绍了vue使用mui遇到的坑及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • vue-cli3项目在IE浏览器打开兼容问题及解决

    vue-cli3项目在IE浏览器打开兼容问题及解决

    这篇文章主要介绍了vue-cli3项目在IE浏览器打开兼容问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 解决vue打包报错Unexpected token: punc的问题

    解决vue打包报错Unexpected token: punc的问题

    这篇文章主要介绍了解决vue打包报错Unexpected token: punc的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • uniapp中如何基于vue3实现输入验证码功能

    uniapp中如何基于vue3实现输入验证码功能

    本文介绍了如何使用uniapp和vue3创建一个手机验证码输入框组件,通过封装VerificationCodeInput.vue组件,并在父组件中引入,可以实现验证码输入功能,适合需要增加手机验证码验证功能的开发者参考使用
    2024-09-09
  • TypeScript在vue中的使用解读

    TypeScript在vue中的使用解读

    这篇文章主要介绍了TypeScript在vue中的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • vue开发中数据更新但视图不刷新的解决方法

    vue开发中数据更新但视图不刷新的解决方法

    在开发中我们处理数据时会遇到数据更新了,但视图并没有更新,这种情况往往是数据嵌套层数过多导致的问题,下面这篇文章主要给大家介绍了关于vue开发中数据更新但视图不刷新的解决方法,需要的朋友可以参考下
    2022-11-11
  • vue element实现表格合并行数据

    vue element实现表格合并行数据

    这篇文章主要为大家详细介绍了vue element实现表格合并行数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • vue-cli脚手架引入图片的几种方法总结

    vue-cli脚手架引入图片的几种方法总结

    下面小编就为大家分享一篇vue-cli脚手架引入图片的几种方法总结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • vue中如何动态设置css样式的hover

    vue中如何动态设置css样式的hover

    这篇文章主要介绍了vue中如何动态设置css样式的hover,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • vue flex 布局实现div均分自动换行的示例代码

    vue flex 布局实现div均分自动换行的示例代码

    这篇文章主要介绍了vue flex 布局实现div均分自动换行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08

最新评论