【VUE】计算属性+动态样式方法封装
在utils下创建文件夹styleController
编写通用的方法
/**
* 样式控制
* 本文件主要提供一些动态控制样式的方法
*/
/**
* 控制表格表头中的 某些列 是否显示星号*
* @param showStarActions boolean 当值为True时,则添加显示星号的样式,若为False,则不添加。
* @param columns
* @param requiredColumnList
*
* 注意,需控制字段 的 属性 必须包含 className:""
*/
export function updateTableColumnClass(showStarActions,columns,requiredColumnList) {
columns.forEach(column => {
if (requiredColumnList.includes(column.dataIndex)) {
column.className = showStarActions ? "form-table-col--required" : "";
}
});
return columns;
}
接下来就是使用这个方法了:
<ATable class="form-table" :data-source="model.inflowList" :columns="updateColumnClasses" row-key="id" :pagination="false">
columns: [
{
title: "#",
dataIndex: "",
key: "rowIndex",
width: 60,
align: "center",
customRender: function (t, r, index) {
return parseInt(index) + 1;
}
},
{
title: "收款时间",
align: "center",
dataIndex: "receiveDate",
className: "",
scopedSlots: { customRender: "receiveDate" }
},
{
title: "收款金额",
align: "center",
width: 250,
dataIndex: "receiveAmount",
className: "",
scopedSlots: { customRender: "receiveAmount" }
},
{
title: "备注",
align: "center",
dataIndex: "remark",
scopedSlots: { customRender: "remark" }
}
],
computed: {
updateColumnClasses: function () {
return updateTableColumnClass(this.isShowStar, this.columns, ["receiveAmount", "receiveDate"])
}
},
mounted () {
const action = this.$route.params.action;
this.isShowStar = action === "add" || action === "edit" || action === "audit";
},
分类:
标签:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步