import { Ref } from 'vue' import { CommonTableColumn } from '~/common' export default function useTableColumnSet( tableColumns: Ref ) { const filterColumnKeys = ref([]) const filteredColumns = ref([]) watchEffect(() => { filteredColumns.value = tableColumns.value.filter(column => { if ( column.needShow && filterColumnKeys.value.includes(column.columnName) ) { column.hidden = false return column } else { column.hidden = true } }) }) const columnChecked = (checkedColumnKeys: string[]) => { filterColumnKeys.value = checkedColumnKeys } return { filteredColumns, columnChecked, } }