useTableColumnSet.ts 529 B

12345678910111213141516
  1. import { tableColumnInGroup } from '../components/ColumnSet/index.vue'
  2. import { Ref } from 'vue'
  3. export default function useTableColumnSet(tableColumns: Ref<tableColumnInGroup[]>) {
  4. const filterColumnKeys = ref<string[]>([])
  5. const filteredColumns = computed(() =>
  6. tableColumns.value.filter(({ dataKey }) => filterColumnKeys.value.includes(dataKey))
  7. )
  8. const columnChecked = (checkedColumnKeys: string[]) => {
  9. filterColumnKeys.value = checkedColumnKeys
  10. }
  11. return {
  12. columnChecked,
  13. filteredColumns,
  14. }
  15. }