qidian-vue-ui 2.0.65 → 2.0.66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,103 +1,103 @@
1
- .qd-service-table[data-v-bb8ca5b9] {
1
+ .qd-service-table[data-v-645038b1] {
2
2
  height: 100%;
3
3
  display: flex;
4
4
  flex-direction: column;
5
5
  }
6
- .qd-service-table[data-v-bb8ca5b9] > .t-table__content {
6
+ .qd-service-table[data-v-645038b1] > .t-table__content {
7
7
  flex: 1;
8
8
  }
9
- .qd-service-table--mini[data-v-bb8ca5b9] {
9
+ .qd-service-table--mini[data-v-645038b1] {
10
10
  font: var(--td-font-body-small);
11
11
  }
12
- .qd-service-table--mini[data-v-bb8ca5b9] th,
13
- .qd-service-table--mini[data-v-bb8ca5b9] tr:not(.t-table__expanded-row) > td {
12
+ .qd-service-table--mini[data-v-645038b1] th,
13
+ .qd-service-table--mini[data-v-645038b1] tr:not(.t-table__expanded-row) > td {
14
14
  padding: var(--td-comp-paddingTB-xxs) var(--td-comp-paddingLR-xxs);
15
15
  line-height: var(--td-line-height-body-small);
16
16
  }
17
- .qd-service-table--mini[data-v-bb8ca5b9] .t-table__row-full-element {
17
+ .qd-service-table--mini[data-v-645038b1] .t-table__row-full-element {
18
18
  padding: var(--td-comp-paddingTB-xs) var(--td-comp-paddingLR-s);
19
19
  }
20
- .qd-service-table--hide-empty-image[data-v-bb8ca5b9] .t-table__empty {
20
+ .qd-service-table--hide-empty-image[data-v-645038b1] .t-table__empty {
21
21
  min-height: auto;
22
22
  }
23
- .qd-service-table--hide-empty-image[data-v-bb8ca5b9] .t-table__empty .t-empty {
23
+ .qd-service-table--hide-empty-image[data-v-645038b1] .t-table__empty .t-empty {
24
24
  padding: 0 !important;
25
25
  }
26
- .qd-service-table--hide-empty-image[data-v-bb8ca5b9] .t-table__empty .t-empty__image {
26
+ .qd-service-table--hide-empty-image[data-v-645038b1] .t-table__empty .t-empty__image {
27
27
  display: none;
28
28
  }
29
- .qd-service-table--hide-empty-image[data-v-bb8ca5b9] .t-table__empty .t-empty__title {
29
+ .qd-service-table--hide-empty-image[data-v-645038b1] .t-table__empty .t-empty__title {
30
30
  margin-top: 0;
31
31
  }
32
- .qd-service-table[data-v-bb8ca5b9] .t-table__tree-col:not(:has(.t-table__tree-op-icon)) {
32
+ .qd-service-table[data-v-645038b1] .t-table__tree-col:not(:has(.t-table__tree-op-icon)) {
33
33
  margin-left: calc(var(--td-font-size-body-large) + var(--td-comp-margin-s));
34
34
  }
35
- .qd-service-table[data-v-bb8ca5b9] .t-table__tree-leaf-node .t-table__tree-op-icon:empty {
35
+ .qd-service-table[data-v-645038b1] .t-table__tree-leaf-node .t-table__tree-op-icon:empty {
36
36
  width: calc(var(--td-font-size-body-large) + var(--td-comp-margin-s));
37
37
  }
38
- .qd-service-table[data-v-bb8ca5b9] .t-affix > .t-table__affixed-header-elm-wrap,
39
- .qd-service-table[data-v-bb8ca5b9] .t-affix > .t-table__scrollbar--obvious {
40
- transform: var(--f9e71248);
38
+ .qd-service-table[data-v-645038b1] .t-affix > .t-table__affixed-header-elm-wrap,
39
+ .qd-service-table[data-v-645038b1] .t-affix > .t-table__scrollbar--obvious {
40
+ transform: var(--bd3cad9a);
41
41
  }
42
- .qd-service-table--horizontal-bar-static[data-v-bb8ca5b9] .t-table__scrollbar--obvious {
42
+ .qd-service-table--horizontal-bar-static[data-v-645038b1] .t-table__scrollbar--obvious {
43
43
  visibility: hidden;
44
44
  pointer-events: none;
45
45
  }
46
- .qd-service-table--horizontal-bar-static[data-v-bb8ca5b9] > div:has(> div > .t-table__scrollbar--obvious) {
46
+ .qd-service-table--horizontal-bar-static[data-v-645038b1] > div:has(> div > .t-table__scrollbar--obvious) {
47
47
  height: 0;
48
48
  margin-top: 0 !important;
49
49
  overflow: hidden;
50
50
  }
51
- .qd-service-table[data-v-bb8ca5b9] .t-table__expanded-row .qd-service-table--horizontal-bar-static > div:has(> div > .t-table__scrollbar--obvious) {
51
+ .qd-service-table[data-v-645038b1] .t-table__expanded-row .qd-service-table--horizontal-bar-static > div:has(> div > .t-table__scrollbar--obvious) {
52
52
  display: none;
53
53
  }
54
- .qd-service-table[data-v-bb8ca5b9] .t-table__expanded-row > td {
54
+ .qd-service-table[data-v-645038b1] .t-table__expanded-row > td {
55
55
  height: 0;
56
56
  }
57
- .qd-service-table[data-v-bb8ca5b9] .t-table__affixed-header-elm-wrap {
57
+ .qd-service-table[data-v-645038b1] .t-table__affixed-header-elm-wrap {
58
58
  height: auto !important;
59
59
  }
60
- .qd-service-table[data-v-bb8ca5b9] .t-table__affixed-header-elm {
60
+ .qd-service-table[data-v-645038b1] .t-table__affixed-header-elm {
61
61
  position: relative;
62
62
  scrollbar-width: none;
63
63
  }
64
- .qd-service-table[data-v-bb8ca5b9] .t-table__affixed-header-elm::-webkit-scrollbar {
64
+ .qd-service-table[data-v-645038b1] .t-table__affixed-header-elm::-webkit-scrollbar {
65
65
  display: none;
66
66
  width: 0;
67
67
  height: 0;
68
68
  }
69
- .qd-service-table[data-v-bb8ca5b9] .t-table__virtual-scroll-cursor + table {
69
+ .qd-service-table[data-v-645038b1] .t-table__virtual-scroll-cursor + table {
70
70
  border-collapse: separate;
71
71
  }
72
- .qd-service-table[data-v-bb8ca5b9] .t-table__expanded-row-inner,
73
- .qd-service-table[data-v-bb8ca5b9] .t-table__row-filter-inner {
72
+ .qd-service-table[data-v-645038b1] .t-table__expanded-row-inner,
73
+ .qd-service-table[data-v-645038b1] .t-table__row-filter-inner {
74
74
  display: block;
75
75
  position: sticky;
76
76
  left: 0;
77
- width: var(--v88d7fa5e) !important;
77
+ width: var(--v44f78268) !important;
78
78
  }
79
- .qd-service-table[data-v-bb8ca5b9] .t-table__cell-wrap > .t-form__controls > .t-form__controls-content > *:not(.t-switch):not(.t-tag):not(.t-icon):not(.qd-file-icon) {
79
+ .qd-service-table[data-v-645038b1] .t-table__cell-wrap > .t-form__controls > .t-form__controls-content > *:not(.t-switch):not(.t-tag):not(.t-icon):not(.qd-file-icon) {
80
80
  width: 100%;
81
81
  }
82
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table__non-editable-col {
82
+ .qd-service-table[data-v-645038b1] .qd-service-table__non-editable-col {
83
83
  background-color: color-mix(in srgb, var(--td-bg-color-component) 50%, transparent);
84
84
  }
85
- .qd-service-table[data-v-bb8ca5b9] td.qd-service-table__selected-cell {
85
+ .qd-service-table[data-v-645038b1] td.qd-service-table__selected-cell {
86
86
  box-shadow: inset 0 1px 0 0 var(--qst-sel-t, transparent), inset 0 -1px 0 0 var(--qst-sel-b, transparent), inset 1px 0 0 0 var(--qst-sel-l, transparent), inset -1px 0 0 0 var(--qst-sel-r, transparent);
87
87
  }
88
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table__selected-bt {
88
+ .qd-service-table[data-v-645038b1] .qd-service-table__selected-bt {
89
89
  --qst-sel-t: var(--td-brand-color);
90
90
  }
91
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table__selected-bb {
91
+ .qd-service-table[data-v-645038b1] .qd-service-table__selected-bb {
92
92
  --qst-sel-b: var(--td-brand-color);
93
93
  }
94
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table__selected-bl {
94
+ .qd-service-table[data-v-645038b1] .qd-service-table__selected-bl {
95
95
  --qst-sel-l: var(--td-brand-color);
96
96
  }
97
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table__selected-br {
97
+ .qd-service-table[data-v-645038b1] .qd-service-table__selected-br {
98
98
  --qst-sel-r: var(--td-brand-color);
99
99
  }
100
- .qd-service-table[data-v-bb8ca5b9] td.qd-service-table__copied-cell {
100
+ .qd-service-table[data-v-645038b1] td.qd-service-table__copied-cell {
101
101
  background-image: var(--qst-copy-t, none), var(--qst-copy-b, none), var(--qst-copy-l, none), var(--qst-copy-r, none);
102
102
  background-size: 8px 1px,
103
103
  8px 1px,
@@ -108,134 +108,134 @@
108
108
  0 0,
109
109
  100% 0;
110
110
  background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
111
- animation: qst-cell-ants-bb8ca5b9 0.5s linear infinite;
111
+ animation: qst-cell-ants-645038b1 0.5s linear infinite;
112
112
  }
113
- .qd-service-table[data-v-bb8ca5b9] td.qd-service-table__copied-cell.qd-service-table__selected-cell {
113
+ .qd-service-table[data-v-645038b1] td.qd-service-table__copied-cell.qd-service-table__selected-cell {
114
114
  background-size: 8px 2px,
115
115
  8px 2px,
116
116
  2px 8px,
117
117
  2px 8px;
118
118
  }
119
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table__copied-bt {
119
+ .qd-service-table[data-v-645038b1] .qd-service-table__copied-bt {
120
120
  --qst-copy-t: linear-gradient(90deg, var(--td-brand-color-hover) 50%, transparent 0);
121
121
  }
122
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table__copied-bb {
122
+ .qd-service-table[data-v-645038b1] .qd-service-table__copied-bb {
123
123
  --qst-copy-b: linear-gradient(90deg, var(--td-brand-color-hover) 50%, transparent 0);
124
124
  }
125
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table__copied-bl {
125
+ .qd-service-table[data-v-645038b1] .qd-service-table__copied-bl {
126
126
  --qst-copy-l: linear-gradient(0deg, var(--td-brand-color-hover) 50%, transparent 0);
127
127
  }
128
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table__copied-br {
128
+ .qd-service-table[data-v-645038b1] .qd-service-table__copied-br {
129
129
  --qst-copy-r: linear-gradient(0deg, var(--td-brand-color-hover) 50%, transparent 0);
130
130
  }
131
- .qd-service-table[data-v-bb8ca5b9] tbody > tr.t-table__row--active {
131
+ .qd-service-table[data-v-645038b1] tbody > tr.t-table__row--active {
132
132
  background-color: var(--td-brand-color-light);
133
133
  }
134
- .qd-service-table[data-v-bb8ca5b9] tbody > tr.t-table__row--active.t-table__row--hover,
135
- .qd-service-table[data-v-bb8ca5b9] tbody > tr.t-table__row--active:hover {
134
+ .qd-service-table[data-v-645038b1] tbody > tr.t-table__row--active.t-table__row--hover,
135
+ .qd-service-table[data-v-645038b1] tbody > tr.t-table__row--active:hover {
136
136
  background-color: var(--td-brand-color-light-hover);
137
137
  }
138
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table__non-editable-col:not(.qd-service-table__copied-cell):is(
138
+ .qd-service-table[data-v-645038b1] .qd-service-table__non-editable-col:not(.qd-service-table__copied-cell):is(
139
139
  .t-table__cell--fixed-left,
140
140
  .t-table__cell--fixed-right
141
141
  ) {
142
142
  background-color: inherit;
143
143
  background-image: linear-gradient(color-mix(in srgb, var(--td-bg-color-secondarycontainer) 50%, transparent), color-mix(in srgb, var(--td-bg-color-secondarycontainer) 50%, transparent));
144
144
  }
145
- .qd-service-table--disable-horizontal-scroll[data-v-bb8ca5b9] colgroup > col {
145
+ .qd-service-table--disable-horizontal-scroll[data-v-645038b1] colgroup > col {
146
146
  width: auto !important;
147
147
  }
148
- .qd-service-table--cell-drag-selecting[data-v-bb8ca5b9] {
148
+ .qd-service-table--cell-drag-selecting[data-v-645038b1] {
149
149
  cursor: crosshair;
150
150
  }
151
- .qd-service-table--cell-drag-selecting[data-v-bb8ca5b9] td {
151
+ .qd-service-table--cell-drag-selecting[data-v-645038b1] td {
152
152
  cursor: crosshair;
153
153
  }
154
- .qd-service-table[data-v-bb8ca5b9] .t-table__filter-pop-content-inner {
154
+ .qd-service-table[data-v-645038b1] .t-table__filter-pop-content-inner {
155
155
  padding: var(--td-comp-paddingTB-s) var(--td-comp-paddingLR-s) 0;
156
156
  }
157
- .qd-service-table[data-v-bb8ca5b9] .t-table__filter-pop-content-inner:has(.qd-service-table-filter-item) {
157
+ .qd-service-table[data-v-645038b1] .t-table__filter-pop-content-inner:has(.qd-service-table-filter-item) {
158
158
  padding: 0;
159
159
  }
160
- .qd-service-table[data-v-bb8ca5b9] .t-table__filter-pop-content-inner:has(
160
+ .qd-service-table[data-v-645038b1] .t-table__filter-pop-content-inner:has(
161
161
  .qd-service-table-filter-input,
162
162
  .qd-service-table-filter-custom
163
163
  ) {
164
164
  padding-bottom: var(--td-comp-paddingTB-s);
165
165
  }
166
- .qd-service-table[data-v-bb8ca5b9] .t-table__filter--bottom-buttons {
166
+ .qd-service-table[data-v-645038b1] .t-table__filter--bottom-buttons {
167
167
  padding: var(--td-comp-paddingTB-s) var(--td-comp-paddingLR-s);
168
168
  }
169
- .qd-service-table--mini[data-v-bb8ca5b9] .t-table__filter-pop-content-inner {
169
+ .qd-service-table--mini[data-v-645038b1] .t-table__filter-pop-content-inner {
170
170
  padding: var(--td-comp-paddingTB-xs) var(--td-comp-paddingLR-xs) 0;
171
171
  }
172
- .qd-service-table--mini[data-v-bb8ca5b9] .t-table__filter--bottom-buttons {
172
+ .qd-service-table--mini[data-v-645038b1] .t-table__filter--bottom-buttons {
173
173
  padding: var(--td-comp-paddingTB-xs) var(--td-comp-paddingLR-xs);
174
174
  }
175
- .qd-service-table--mini[data-v-bb8ca5b9] .t-table__filter-pop-content-inner:has(.qd-service-table-filter-item) {
175
+ .qd-service-table--mini[data-v-645038b1] .t-table__filter-pop-content-inner:has(.qd-service-table-filter-item) {
176
176
  padding: 0;
177
177
  }
178
- .qd-service-table--mini[data-v-bb8ca5b9] .t-table__filter-pop-content-inner:has(
178
+ .qd-service-table--mini[data-v-645038b1] .t-table__filter-pop-content-inner:has(
179
179
  .qd-service-table-filter-input,
180
180
  .qd-service-table-filter-custom
181
181
  ) {
182
182
  padding-bottom: var(--td-comp-paddingTB-xs);
183
183
  }
184
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table-filter-item {
184
+ .qd-service-table[data-v-645038b1] .qd-service-table-filter-item {
185
185
  width: 266px;
186
186
  }
187
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table-filter-item__search,
188
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table-filter-item__all,
189
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table-filter-item__options {
187
+ .qd-service-table[data-v-645038b1] .qd-service-table-filter-item__search,
188
+ .qd-service-table[data-v-645038b1] .qd-service-table-filter-item__all,
189
+ .qd-service-table[data-v-645038b1] .qd-service-table-filter-item__options {
190
190
  padding: var(--td-comp-paddingTB-s) var(--td-comp-paddingLR-s) 0;
191
191
  }
192
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table-filter-item__all {
192
+ .qd-service-table[data-v-645038b1] .qd-service-table-filter-item__all {
193
193
  display: flex;
194
194
  align-items: center;
195
195
  padding: 0 var(--td-comp-paddingLR-s);
196
196
  border-bottom: 1px solid var(--td-component-stroke);
197
197
  }
198
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table-filter-item__options {
198
+ .qd-service-table[data-v-645038b1] .qd-service-table-filter-item__options {
199
199
  display: flex;
200
200
  flex-direction: column;
201
201
  height: 206px;
202
202
  padding: 0 var(--td-comp-paddingLR-s);
203
203
  overflow-y: auto;
204
204
  }
205
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table-filter-item__count {
205
+ .qd-service-table[data-v-645038b1] .qd-service-table-filter-item__count {
206
206
  margin-left: var(--td-comp-margin-xs);
207
207
  color: var(--td-text-color-placeholder);
208
208
  }
209
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table-filter-item__cell {
209
+ .qd-service-table[data-v-645038b1] .qd-service-table-filter-item__cell {
210
210
  pointer-events: none;
211
211
  }
212
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table-filter-item .t-checkbox,
213
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table-filter-item .t-radio {
212
+ .qd-service-table[data-v-645038b1] .qd-service-table-filter-item .t-checkbox,
213
+ .qd-service-table[data-v-645038b1] .qd-service-table-filter-item .t-radio {
214
214
  display: flex;
215
215
  align-items: center;
216
216
  }
217
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table-filter-item .t-checkbox__label,
218
- .qd-service-table[data-v-bb8ca5b9] .qd-service-table-filter-item .t-radio__label {
217
+ .qd-service-table[data-v-645038b1] .qd-service-table-filter-item .t-checkbox__label,
218
+ .qd-service-table[data-v-645038b1] .qd-service-table-filter-item .t-radio__label {
219
219
  display: inline-flex;
220
220
  flex: 1 1 0;
221
221
  align-items: center;
222
222
  min-width: 0;
223
223
  overflow: hidden;
224
224
  }
225
- .qd-service-table--mini[data-v-bb8ca5b9] .qd-service-table-filter-item__search {
225
+ .qd-service-table--mini[data-v-645038b1] .qd-service-table-filter-item__search {
226
226
  padding: var(--td-comp-paddingTB-xs) var(--td-comp-paddingLR-xs) 0;
227
227
  }
228
- .qd-service-table--mini[data-v-bb8ca5b9] .qd-service-table-filter-item__all,
229
- .qd-service-table--mini[data-v-bb8ca5b9] .qd-service-table-filter-item__options {
228
+ .qd-service-table--mini[data-v-645038b1] .qd-service-table-filter-item__all,
229
+ .qd-service-table--mini[data-v-645038b1] .qd-service-table-filter-item__options {
230
230
  padding: 0 var(--td-comp-paddingLR-xs);
231
231
  }
232
- @keyframes qst-cell-ants-bb8ca5b9 {
232
+ @keyframes qst-cell-ants-645038b1 {
233
233
  to {
234
234
  background-position: 8px 0, -8px 100%, 0 -8px, 100% 8px;
235
235
  }
236
236
  }
237
237
  @media (prefers-reduced-motion: reduce) {
238
- [data-v-bb8ca5b9] td.qd-service-table__copied-cell {
238
+ [data-v-645038b1] td.qd-service-table__copied-cell {
239
239
  animation: none;
240
240
  }
241
241
  }
@@ -2,7 +2,7 @@ import './index.css'
2
2
  import _sfc_main from "./index.vue2.mjs";
3
3
  /* empty css */
4
4
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
5
- const QdServiceTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-bb8ca5b9"]]);
5
+ const QdServiceTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-645038b1"]]);
6
6
  export {
7
7
  QdServiceTable as default
8
8
  };
@@ -359,8 +359,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
359
359
  emit: __emit
360
360
  }) {
361
361
  useCssVars((_ctx) => ({
362
- "f9e71248": affixedHeaderTransform.value,
363
- "v88d7fa5e": expandedRowWidth.value
362
+ "bd3cad9a": affixedHeaderTransform.value,
363
+ "v44f78268": expandedRowWidth.value
364
364
  }));
365
365
  const props = __props;
366
366
  const emit = __emit;
@@ -440,6 +440,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
440
440
  const formItemColumns = computed(() => flattenFormItemColumns(props.columns || []));
441
441
  const editableColumns = computed(() => flattenEditableColumns(props.columns || []));
442
442
  const reCellSelectable = computed(() => props.cellSelectable ?? false);
443
+ const rowClickSelectsRows = computed(() => {
444
+ if (props.selectOnRowClick !== void 0) return props.selectOnRowClick;
445
+ if (props.onRowClick) return false;
446
+ return !props.expandOnRowClick && !props.tree?.expandTreeNodeOnClick;
447
+ });
443
448
  const parentAddBeforeSubmitQueue = inject(PROVIDE_FORM_ADD_BEFORE_SUBMIT_QUEUE, void 0);
444
449
  const beforeSubmitQueueMap = /* @__PURE__ */ new Map();
445
450
  const editingCellValidationVersions = /* @__PURE__ */ new Map();
@@ -653,7 +658,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
653
658
  loading: loading2,
654
659
  data: data2,
655
660
  selectedRowKeys: selectedRowKeys2,
656
- activeRowKeys: activeRowKeys2,
661
+ activeRowKeys: _activeRowKeys,
657
662
  columnControllerVisible: columnControllerVisible2,
658
663
  displayColumns: displayColumns2,
659
664
  expandedRowKeys: expandedRowKeys2,
@@ -696,6 +701,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
696
701
  const onValidate = reTableOptions.onValidate;
697
702
  const onRowValidate = reTableOptions.onRowValidate;
698
703
  const onFilterChange = reTableOptions.onFilterChange;
704
+ const onSelectChange = reTableOptions.onSelectChange;
705
+ reTableOptions.onSelectChange = (value, context) => {
706
+ if (props.activeRowType) activeRowKeys.value = [...value];
707
+ onSelectChange?.(value, context);
708
+ };
699
709
  reTableOptions.onValidate = (context) => {
700
710
  replaceTableValidationErrors(context.result);
701
711
  onValidate?.(context);
@@ -978,7 +988,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
978
988
  models: {
979
989
  data: data2,
980
990
  selectedRowKeys: selectedRowKeys2,
981
- activeRowKeys: activeRowKeys2,
991
+ activeRowKeys: _activeRowKeys,
982
992
  columnControllerVisible: columnControllerVisible2,
983
993
  displayColumns: displayColumns2,
984
994
  expandedRowKeys: expandedRowKeys2,
@@ -1359,7 +1369,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1359
1369
  checkableRowKeys.push(rowValue);
1360
1370
  }
1361
1371
  }
1362
- selectedRowKeys.value = checkableRowKeys;
1372
+ if (rowClickSelectsRows.value) selectedRowKeys.value = checkableRowKeys;
1363
1373
  if (props.activeRowType) activeRowKeys.value = rowKeys;
1364
1374
  }
1365
1375
  function pruneDisabledSelectedRows(newData) {
@@ -1378,6 +1388,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1378
1388
  return column.cellSelectable ?? String(column.colKey) !== "operation";
1379
1389
  }
1380
1390
  function emitRowSelectChange(clickedRow, type) {
1391
+ if (!rowClickSelectsRows.value) return;
1381
1392
  const rowKeys = [...selectedRowKeys.value];
1382
1393
  const selectedRowData = rowKeys.map((key) => data.value.find((row) => getRowValue(row) === key)).filter((row) => !!row);
1383
1394
  props.onSelectChange?.(rowKeys, {
@@ -1394,10 +1405,44 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1394
1405
  if (event?.metaKey || event?.ctrlKey) {
1395
1406
  const exists = selectedCells.value.some((item) => isSameEditingCell(item, cell));
1396
1407
  const rest = selectedCells.value.filter((item) => !isSameEditingCell(item, cell));
1397
- selectedCells.value = exists ? rest : [...rest, cell];
1398
- selectedCell.value = selectedCells.value.at(-1);
1408
+ const prevRows = new Set(selectedCells.value.map((item) => getRowValue(item.row)));
1409
+ const next = exists ? rest : [...rest, cell];
1410
+ const nextRows = new Set(next.map((item) => getRowValue(item.row)));
1411
+ selectedCells.value = next;
1412
+ selectedCell.value = next.at(-1);
1399
1413
  selectedCellAnchor.value = cell;
1400
- syncSelectedRowKeysFromCells();
1414
+ const singleRowSelect = props.selectType === "single";
1415
+ const clickedRowValue = getRowValue(cell.row);
1416
+ if (rowClickSelectsRows.value) {
1417
+ if (singleRowSelect) {
1418
+ selectedRowKeys.value = [clickedRowValue];
1419
+ } else {
1420
+ const nextKeys = new Set(selectedRowKeys.value);
1421
+ for (const rowValue of nextRows) {
1422
+ if (prevRows.has(rowValue)) continue;
1423
+ const rowIndex = data.value.findIndex((row) => getRowValue(row) === rowValue);
1424
+ if (rowIndex >= 0 && !isRowSelectDisabled(data.value[rowIndex], rowIndex)) {
1425
+ nextKeys.add(rowValue);
1426
+ }
1427
+ }
1428
+ for (const rowValue of prevRows) {
1429
+ if (!nextRows.has(rowValue)) nextKeys.delete(rowValue);
1430
+ }
1431
+ selectedRowKeys.value = [...nextKeys];
1432
+ }
1433
+ }
1434
+ if (props.activeRowType) {
1435
+ if (singleRowSelect) {
1436
+ activeRowKeys.value = [clickedRowValue];
1437
+ } else {
1438
+ const nextActive = new Set(activeRowKeys.value);
1439
+ for (const rowValue of nextRows) nextActive.add(rowValue);
1440
+ for (const rowValue of prevRows) {
1441
+ if (!nextRows.has(rowValue)) nextActive.delete(rowValue);
1442
+ }
1443
+ activeRowKeys.value = [...nextActive];
1444
+ }
1445
+ }
1401
1446
  emitRowSelectChange(cell.row, wasSelected ? "uncheck" : "check");
1402
1447
  return;
1403
1448
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qidian-vue-ui",
3
- "version": "2.0.65",
3
+ "version": "2.0.66",
4
4
  "description": "基于 TDesign 的 QiDian Vue UI 组件库",
5
5
  "author": "qidian",
6
6
  "license": "MIT",