import type { ComputedRef } from 'vue'; import type { BasicTableProps, TableCustomRecord } from '../types/table'; import { unref } from 'vue'; import { isFunction } from '/@/utils/is'; export function useTableStyle(propsRef: ComputedRef, prefixCls: string) { function getRowClassName(record: TableCustomRecord, index: number) { const { striped, rowClassName } = unref(propsRef); const classNames: string[] = []; if (striped) { classNames.push((index || 0) % 2 === 1 ? `${prefixCls}-row__striped` : ''); } if (rowClassName && isFunction(rowClassName)) { classNames.push(rowClassName(record, index)); } return classNames.filter((cls) => !!cls).join(' '); } return { getRowClassName }; }