ColumnSelector 列选择器

February 27, 2026 · View on GitHub

表格列选择器组件,用于控制表格列的显示/隐藏。

引入

import { ColumnSelector } from '@airpower/web'

Props

参数说明类型默认值必填
columnList列配置列表ITableColumn<E>[]-
entityClass实体类ITransformerConstructor<E>-

Emits

事件名说明回调参数
change列选择变化(keys: string[]) => void

Slots

示例

<template>
  <ColumnSelector
    :column-list="columnList"
    :entity-class="User"
    @change="handleColumnChange"
  />
</template>

<script setup lang="ts">
import { ref } from 'vue'
import { User } from '@/model/User'
import { ITableColumn } from '@airpower/web'

const columnList = ref<ITableColumn<User>[]>([
  { key: 'id', label: 'ID' },
  { key: 'name', label: '姓名' },
  { key: 'email', label: '邮箱' }
])

function handleColumnChange(keys: string[]) {
  console.log('显示的列:', keys)
}
</script>

注意事项

  • 点击按钮会弹出列选择面板
  • 被标记为 force 的列不允许隐藏
  • 选择变化时会触发 change 事件,返回当前选中的列 key 数组
  • 组件会自动读取实体类的 @Table 配置