vue+element table的二次封装

table.vue文件

<el-table

                                                                  export default {              data(){            return{}        },        props: {            tableList: {                type: Array,                default: function() {                    return [];                }            },            tableData: {                type: Array,                default: function() {                    return [];                }            },            showHeader: {                type: Boolean,                default: true            },            border: {                type: Boolean,                default: false            },            maxHeight: {                type: [String, Number],                default: null            },            loading: {                type: Boolean,                default: false            },            className: {                type: String,                default: ""            },            tableRowClassName: {                type: String,                default: ""            }        }    }

 

 

 

 

很多人不明白为什么这里要加一个slot,这个封装实际上就是把前面的tableList 作为一个 prop 传入,通过这个属性,我们就可以在table中编辑任何简单或者复制的列, 完美~

使用方法如下:

 

 

 

     const PrefixPlusText = {  props: ['colConfig'],  template: `                  {{ parseInt(row[colConfig.prop]) > 0 ? '+' + row[colConfig.prop] : row[colConfig.prop] }}            `} export default {  data () {    this.colConfigs = [      { prop: 'change', label: '变化' component: PrefixPlusText },      { prop: 'name', label: '趋势', component: PrefixPlusText },    ]    return {      tableData: [{        change: '12%',        trend: '10%      }, {        change: '-12%',        trend: '-10%'      }]    }  }}

 

 

 

总结

table 作为数据展示组件,在日常开发中经常被用到,通过这篇文章,可以看到结合 vue 的 slot/component 特性,做一层封装,可以大大简化 table 的使用,大部分时候只需写一个配置属性就可以了。

文章来源:田珊珊个人博客

来源地址:http://www.tianshan277.com/708.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:SEO优化专员,转转请注明出处:https://www.chuangxiangniao.com/p/898509.html

(0)
上一篇 2025年1月4日 01:19:02
下一篇 2025年1月4日 01:19:55

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论

联系我们

156-6553-5169

在线咨询: QQ交谈

邮件:253000106@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

联系微信