ant design vue 中 table 组件 选中的表格中的某一项高亮显示

ant design vue 中 table 组件 选中的表格中的某一项高亮显示

<template>
	<a-table
       rowKey="id"
       :columns="columns"
       :dataSource="tableList"
       :pagination="false"
       class="j-table-force-nowrap"
       :customRow="customRow"
       >
      </a-table>
</template>

export default class extends Vue {
	columns = ref<array>([]),
	tableList = ref<array>([]),
	leftAlignId = ref<string | number>("")
	 // 自定义行
       customRow(record, index) {
       	console.log(record, index)
         return {
           // 自定义属性,也就是官方文档中的props,可通过条件来控制样式
           style: {
             // 设置字体颜色
             // 'color': record.id === this.leftAlignId ? '#fff' : '',
             //  设置行背景色
             'background-color': record.id === this.leftAlignId ? '#E6F7FF' : ''
             // 设置字体类型
             // 'font-family': 'Microsoft YaHei',
             // // 下划线
             // 'text-decoration': 'underline',
             // // 字体样式-斜体
             // 'font-style': 'italic',
             // // 字体加粗
             // 'font-weight': 'bold'
           },
           onClick: (event: any) => {
           	// 记录当前点击的行标识
			this.leftAlignId = record.id
		},
         }
       },
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过自定义表头来实现保留排序列的高亮显示。 首先,在表头添加一个额外的样式类,用于控制当前排序列的高亮显示: ```html <el-table-column prop="a" label="A" sortable :class="{'sorted': sortProp === 'a' && sortOrder === 'descending'}"> </el-table-column> <el-table-column prop="b" label="B" sortable :class="{'sorted': sortProp === 'b' && sortOrder === 'descending'}"> </el-table-column> ``` 其,`:class="{'sorted': sortProp === 'a' && sortOrder === 'descending'}"` 表示如果当前排序列是 `a` 列并且排序方式是降序,就添加 `sorted` 样式类。同理,`:class="{'sorted': sortProp === 'b' && sortOrder === 'descending'}"` 表示如果当前排序列是 `b` 列并且排序方式是降序,就添加 `sorted` 样式类。 接着,在表头添加点击事件,用于处理列排序,并更新当前排序列的状态: ```html <el-table-column prop="a" label="A" sortable :class="{'sorted': sortProp === 'a' && sortOrder === 'descending'}" @sort-change="handleSortChange('a')"> </el-table-column> <el-table-column prop="b" label="B" sortable :class="{'sorted': sortProp === 'b' && sortOrder === 'descending'}" @sort-change="handleSortChange('b')"> </el-table-column> ``` 其,`@sort-change="handleSortChange('a')" ` 表示如果点击了 `A` 列,就调用 `handleSortChange('a')` 方法进排序,并更新当前排序列为 `a`。 最后,在组件定义 `sortProp` 和 `sortOrder` 变量,并实现 `handleSortChange` 方法: ```javascript export default { data() { return { sortProp: null, sortOrder: null, tableData: [...] }; }, methods: { handleSortChange(prop) { if (this.sortProp === prop) { this.sortOrder = this.sortOrder === 'descending' ? 'ascending' : 'descending'; } else { this.sortProp = prop; this.sortOrder = 'descending'; } } } } ``` 其,当点击的列和当前排序列相同时,就切换排序方式;否则,就将当前排序列更新为点击的列,并将排序方式设置为降序。这样就可以实现保留点击的列的排序高亮显示了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值