将el-table 包在自定义组件(page_table)里面,可以重复使用。
1.在组件中定义
<el-table :cell-style="setCellColor"></el-table>
methods:{
setCellColor: function (e) { //{row,column,rowIndex,columnIndex}
let obj = {};
this.$emit("setCellColor", e, (color = {}) => { //将事件返回到调用组件的页面去判断 应该现实的颜色
obj = color;
});
return obj;
}
}
2.在使用的页面 使用定义的组件
<page_table @setCellColor="setCellColor" />
methods:{
setCellColor:function(e,callback){
//e.row:表格那一行的数据; e.column:表格单元格那一列的信息
//根据你所需要的内容进行判断
if(e.row.state === 0 && e.column.property === 'state_text'){
callback({color:"#f00"}) ; // 返回对象 可以设置color 字体颜色 ,也可以设置background单元格的背景颜色
}else{
callback({}) ; //不满足条件 就不处理 显示默认样式
}
}

本文详细介绍如何将Element UI的el-table封装成可复用的自定义组件page_table,通过定义cell-style实现单元格颜色动态调整。在组件内部定义setCellColor方法,允许外部页面根据数据状态动态设置单元格颜色。
2032

被折叠的 条评论
为什么被折叠?



