<el-table-column :label=“学生身份证号” align=“center” prop=“idNumber” width=“130” min-width=“130” /> 设置label 文字前面有红色星号文字为黑色 vue3 TS写法
时间: 2024-09-19 12:07:41 浏览: 38
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
在 Vue3 中,如果你想在 `<el-table-column>` 的 label 文字前添加一个红色星号,并使其颜色为黑色,你可以使用计算属性 (Computed Property) 来动态生成 HTML。因为 Vue 不直接支持 HTML 模板中的文本插入操作,我们通常会使用一些字符串模板或者插值语法。
首先,创建一个计算属性 `formattedLabel`,然后在其中添加星号和实际的身份证号:
```typescript
import { computed } from 'vue';
export default {
// ...其他组件选项
data() {
return {
idNumber: '', // 存储学生身份证号的数据
starChar: '*' // 星号字符
};
},
computed: {
formattedLabel() {
return `${this.starChar} ${this.idNumber}`;
}
},
// ...表列配置
columns: [
{
label: '学生身份证号',
align: 'center',
prop: 'idNumber',
width: '130',
min-width: '130',
formatter: (value) => this.formattedLabel, // 使用自定义 formatter 函数
// 如果需要控制样式,可以加上以下行
scopedSlots: {
customRender: "cell", // 使用 slot 自定义单元格内容
cell({ column, row, $index }) {
return `<span style="color:black;">${this.formattedLabel}</span>`;
}
}
}
]
};
```
在这个例子中,`formatter` 属性用于处理单元格内的数据展示,而 `scopedSlots` 则用于插入自定义 HTML 标签并设置样式。注意,这里假设你已经有一个名为 `idNumber` 的变量存储学生的身份证号信息。
阅读全文