vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vxe-table中vxe-grid中的高亮行、高亮列

vxe-table中vxe-grid中的高亮行、高亮列实例

作者:大个个个个个儿

这篇文章主要介绍了vxe-table中vxe-grid中的高亮行、高亮列实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vxe-table中vxe-grid中的高亮行、高亮列

效果图

实例代码

<vxe-grid v-bind="gridOptions" ref="tableRefs"></vxe-grid>


// 指定要高亮的列名
const highlightColumns = ref(['companyName', 'typeName']);

// 创建一个通用的 cellClassName 函数
const getCellClassName = ({ column }) => {
  if (highlightColumns.value.includes(column.field)) {
    return 'highlight-column';
  }
  return '';
};

const gridOptions = ref({
  data: [
    {
      companyName: '公司1',
      personName: '张三',
      typeName: '类型A',
      createDate: '2025-03-01',
      companyNameAgo: '公司X',
      proxyOrgName: '代垫公司Y'
    },
    {
      companyName: '公司2',
      personName: '李四',
      typeName: '类型B',
      createDate: '2025-03-02',
      companyNameAgo: '公司Z',
      proxyOrgName: '代垫公司W'
    }
  ],
  align: 'center',
  loading: false,
  border: true,
  // 行样式
  rowClassName({ row }) {
    if (row.companyName == '公司1') {
      return 'highlight-row';
    }
    return '';
  },
  // 单元格样式
  cellClassName: ({ row, column }) => {
    return getCellClassName({ column });
  },
  // 表头单元格样式
  headerCellClassName: ({ row, column }) => {
    return getCellClassName({ column });
  },
  columns: [
    { type: 'seq', width: 50 },
    {
      title: '人员名称',
      field: 'personName'
    },
    {
      title: '类型名称',
      field: 'typeName'
    },
    {
      title: '变更日期',
      field: 'createDate'
    },
    {
      title: '变更前公司',
      field: 'companyNameAgo'
    },
    {
      title: '当前任职公司',
      field: 'companyName'
    },
    {
      title: '代垫公司',
      field: 'proxyOrgName'
    }
  ]
});



//高亮样式
 :deep(.highlight-row) {
    background-color: #ffffcc; /* 或者任何你想要的颜色 */
  }
  :deep(.highlight-column) {
    background-color: #fff86b; /* 或者任何你想要的颜色 */
  }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文