Commit cdf2c59e5c3b070d039c04fb746b53147f5e0ced

Authored by vben
1 parent 36a7e70c

fix(table): fix the problem that multi-level header configuration does not take effect

CHANGELOG.zh_CN.md
... ... @@ -30,6 +30,7 @@
30 30 - 修复`useECharts`在`resize`时不能自适应,报错
31 31 - 修复`useWatermark`在清空后`resize`未删除
32 32 - 修复表单校验问题
  33 +- 修复多级表头配置不生效问题
33 34  
34 35 ## 2.0.0-rc.8 (2020-11-2)
35 36  
... ...
src/components/Table/src/hooks/useColumns.ts
... ... @@ -23,18 +23,11 @@ export function useColumns(
23 23 }
24 24 let pushIndexColumns = false;
25 25 columns.forEach((item) => {
26   - const { key, dataIndex } = item;
27   - item.align = item.align || 'center';
28   - if (ellipsis) {
29   - if (!key) {
30   - item.key = dataIndex;
31   - }
32   - if (!isBoolean(item.ellipsis)) {
33   - Object.assign(item, {
34   - ellipsis,
35   - });
36   - }
37   - }
  26 + const { children } = item;
  27 + handleItem(item, !!ellipsis);
  28 +
  29 + handleChildren(children, !!ellipsis);
  30 +
38 31 const indIndex = columns.findIndex((column) => column.flag === 'INDEX');
39 32 if (showIndexColumn && !isTreeTable) {
40 33 pushIndexColumns = indIndex === -1;
... ... @@ -88,6 +81,30 @@ export function useColumns(
88 81 cacheColumnsRef.value = columns;
89 82 });
90 83  
  84 + function handleItem(item: BasicColumn, ellipsis: boolean) {
  85 + const { key, dataIndex } = item;
  86 + item.align = item.align || 'center';
  87 + if (ellipsis) {
  88 + if (!key) {
  89 + item.key = dataIndex;
  90 + }
  91 + if (!isBoolean(item.ellipsis)) {
  92 + Object.assign(item, {
  93 + ellipsis,
  94 + });
  95 + }
  96 + }
  97 + }
  98 +
  99 + function handleChildren(children: BasicColumn[] | undefined, ellipsis: boolean) {
  100 + if (!children) return;
  101 + children.forEach((item) => {
  102 + const { children } = item;
  103 + handleItem(item, ellipsis);
  104 + handleChildren(children, ellipsis);
  105 + });
  106 + }
  107 +
91 108 function setColumns(columns: BasicColumn[] | string[]) {
92 109 if (!isArray(columns)) return;
93 110  
... ...
src/design/ant/selection.less deleted 100644 → 0
1   -.ant-radio {
2   - &-inner {
3   - border-color: @text-color-base;
4   -
5   - &::after {
6   - top: 1px;
7   - left: 1px;
8   - width: 12px;
9   - height: 12px;
10   - }
11   - }
12   -}
13   -
14   -.ant-radio-disabled .ant-radio-inner {
15   - border-color: @text-color-help-light !important;
16   -}
17   -
18   -.ant-checkbox {
19   - &-inner {
20   - border-color: @text-color-base;
21   - }
22   -}
23   -
24   -.ant-checkbox-disabled .ant-checkbox-inner {
25   - border-color: @text-color-help-light !important;
26   -}
27   -
28   -// select
29   -.ant-select {
30   - &-selection {
31   - border-color: @border-color-shallow-dark;
32   - }
33   -
34   - &-selection__placeholder,
35   - &-search__field__placeholder {
36   - color: @text-color-help-dark;
37   - }
38   -}
39   -
40   -.ant-select-disabled .ant-select-arrow {
41   - visibility: hidden;
42   -}
43   -
44   -.ant-select-dropdown {
45   - min-width: 84px !important;
46   -
47   - &.ant-select-dropdown--multiple {
48   - .ant-select-dropdown-menu-item-selected .ant-select-selected-icon,
49   - .ant-select-dropdown-menu-item-selected:hover .ant-select-selected-icon {
50   - color: @white;
51   - }
52   - }
53   -
54   - &-menu-item {
55   - height: 34px;
56   - min-width: 84px;
57   - line-height: 22px;
58   - color: @text-color-call-out;
59   -
60   - &:hover {
61   - // color: @--norm-select-item-hover-color;
62   - background: @tree-hover-background-color;
63   - }
64   -
65   - &-selected,
66   - &-selected:hover {
67   - color: @primary-color;
68   - background: @tree-hover-background-color;
69   - }
70   -
71   - &-disabled,
72   - &-disabled:hover {
73   - color: @disabled-color;
74   - background-color: @white;
75   - }
76   - }
77   -}
78   -
79   -.ant-select-disabled .ant-select-selection {
80   - background: @tree-hover-font-color;
81   -}