Acro Design Pro vue - table 行点击高亮显示

在使用element的时候,好像只用在table中添加一个 highlight-current-row 就可以当前行高亮 。
acro table没找到这属性,可以使用 row-class 动态添加 样式实现。

// template
      <a-table
          :columns="columns"
          :data="userTableData"
          column-resizable
          :hoverable="false"
          :scroll="scrollPercent"
          :loading="loading"
          row-key="id"
          :bordered="{ cell: true }"
          :size="size"
          :pagination="PaginationProps"
          :row-class="activeRowClass"   
          @page-change="changeTablePageClick"
          @row-click="handelClickTableRow"
        >

// script
	  const activeRow = ref({});

	  const handelClickTableRow = (e) => {
	    activeRow.value = e;
	  };
   
	 const activeRowClass = (record) => {
	    return record.raw.id === activeRow.value.id ? 'activeRowLight' : '';
	  };

// style 
	<style lang="less" scoped>
	  :deep(.arco-table-td) {
	    background: unset;
	  }
	</style>

为了避免一些奇怪的问题,所以将 activeRowLight 的样式放到 app.vue 中,相当于公共样式。要注意的是开始设置的时候,虽然类名已经添加到了DOM上,但样式并未生效,后查看到每个 td 都有自己的背景色,所以上面将每个td 的背景色去掉之后,咱自己添加的背景色就显示出来了。然后hoverable的时候也会遮盖咱的背景色,这里就给设置取消了。

<template>
  <a-config-provider :locale="locale" :size="size">
    <router-view />
    <global-setting />
  </a-config-provider>
</template>

<script lang="ts" setup>
  import { computed } from 'vue';
  import enUS from '@arco-design/web-vue/es/locale/lang/en-us';
  import zhCN from '@arco-design/web-vue/es/locale/lang/zh-cn';
  import GlobalSetting from '@/components/global-setting/index.vue';
  import useLocale from '@/hooks/locale';
  import { useAppStore } from '@/store';

  const { currentLocale } = useLocale();
  const locale = computed(() => {
    switch (currentLocale.value) {
      case 'zh-CN':
        return zhCN;
      case 'en-US':
        return enUS;
      default:
        return enUS;
    }
  });

  const size = computed(() => {
    const userCofig = useAppStore();
    return userCofig.size;
  });
</script>

<style>
  .activeRowLight {
    background: #b8d4ff;
  }
</style>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值