将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({}) ; //不满足条件 就不处理 显示默认样式
}
}