1234567891011121314151617181920212223242526272829303132333435 |
- import type { TableColumnType } from 'antd'
- export const delay = (ms?: number | undefined) => new Promise(res => setTimeout(res, ms))
- /**
- *
- * @param c 表格columns
- * @param s schema
- * @param f 需要过滤掉的colmun
- * @returns
- */
- export function generateColumns(c: TableColumnType, s: any, f?: string | string[]) {
- if (!s) return c
- // 新的列
- const nC = [...c]
- if (s) {
- const { properties } = s
- const keys = Object.keys(properties)
- keys.forEach(item => {
- const isExist = c.some(column => column.dataIndex === item)
- // 该列在columns中未定义且不需要过滤
- if ((Array.isArray(f) && !f.includes(item)) || f !== item) {
- return
- }
- if (!isExist) {
- nC.splice(-2, 0, {
- dataIndex: item,
- title: properties[item].title,
- hideInTable: properties[item].hidden
- })
- }
- })
- }
- return nC
- }
|