Skip to content
On this page

ColumnBar 表格列设置

用树形勾选配置表格列显隐,支持多级 children 表头。关闭弹层或点确认时回写列配置。

  • 组件:GrowColumnBar
  • 包路径:@grow-admin-rock/components/column-bar
  • 类型:预设组件(RockComponent.ColumnBar
  • 演示:功能示例 → 表格列设置

基础用法

vue
<template>
  <GrowColumnBar :columns="tableColumns" @confirm="onConfirm" />
  <GrowTable :data="tableData" border>
    <!-- 按 visible / children 渲染列 -->
  </GrowTable>
</template>

<script setup lang="ts">
import { ref } from 'vue'
import type { ColumnBarItem } from '@grow-admin-rock/components/column-bar'
import { GrowColumnBar } from '@grow-admin-rock/components/column-bar'

const tableColumns = ref<ColumnBarItem[]>([
  { title: '序号', field: 'serial', visible: true },
  { title: '账号', field: 'account', visible: true },
  {
    title: '状态信息',
    field: 'statusGroup',
    visible: true,
    children: [
      { title: '账号状态', field: 'status', visible: true },
      { title: '创建日期', field: 'createDate', visible: true },
    ],
  },
  { title: '操作', field: 'operate', visible: true },
])

function onConfirm(columns: ColumnBarItem[]) {
  tableColumns.value = columns
}
</script>

Props

属性类型默认值说明
columnsColumnBarItem[][]列配置树
nodeKeystring'field'节点唯一键字段

ColumnBarItem

字段类型说明
titlestring列标题(树节点文案)
fieldstring列字段 / 节点 key(由 nodeKey 指定)
visibleboolean是否显示,默认视为 true
disabledboolean是否禁用勾选(也可由内部规则写入)
childrenColumnBarItem[]多级表头子列

Events

事件参数说明
confirm(columns: ColumnBarItem[])点击确认 / 系统默认时回传列树(已更新 visible

内置规则

  • fieldserial / operate 的节点会自动 disabled,不可取消勾选。
  • 支持全选 / 半选;「系统默认」恢复首次传入的列显隐(不会被后续确认覆盖)。
  • 弹层打开后会再同步勾选(兼容 Popover 懒挂载)。
  • 点击「确认」或「系统默认」时触发 confirm 并关闭弹层。

与 GrowTable 配合

ColumnBar 只负责列配置;表格展示请用 GrowTable(或业务表格)根据 visible / children 渲染。样例见 cornerstone-apps-featpages/column-bar

相关

  • 其他组件
  • 文案:COLUMN_BAR.SELECT_ALLSEARCH_BAR.RESET_SYETEMPUBLIC.CONFIRM_TEXT