@blueking/ediatable 0.0.1-beta.7 → 0.0.1-beta.8
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.
- package/README.md +563 -0
- package/package.json +5 -1
- package/typings/components/{date-time-picker.vue.d.ts → date-time-picker-column.vue.d.ts} +4 -2
- package/typings/components/fixed-column.vue.d.ts +6 -4
- package/typings/components/head-column.vue.d.ts +21 -11
- package/typings/components/{input.vue.d.ts → input-column.vue.d.ts} +6 -4
- package/typings/components/{tag-input.vue.d.ts → tag-input-column.vue.d.ts} +6 -4
- package/typings/vue2.d.ts +13 -6
- package/typings/vue3.d.ts +7 -6
- package/vue2/index.es.min.js +1515 -8814
- package/vue2/index.iife.min.js +5888 -13274
- package/vue2/index.umd.min.js +1600 -8973
- package/vue2/vue2.css +44 -118
- package/vue3/index.es.min.js +269 -236
- package/vue3/index.iife.min.js +1586 -8974
- package/vue3/index.umd.min.js +309 -276
- package/vue3/vue3.css +41 -41
- package/typings/ediatable.vue.d.ts +0 -20
- package/typings/components/{operation.vue.d.ts → operation-column.vue.d.ts} +5 -5
- /package/typings/components/{select.vue.d.ts → select-column.vue.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -5,3 +5,566 @@
|
|
|
5
5
|
```bash
|
|
6
6
|
npm i @blueking/ediatable
|
|
7
7
|
```
|
|
8
|
+
|
|
9
|
+
#### 使用
|
|
10
|
+
|
|
11
|
+
##### vue2/vue3框架下使用
|
|
12
|
+
|
|
13
|
+
```vue
|
|
14
|
+
<template>
|
|
15
|
+
<Ediatable :thead-list="theadList">
|
|
16
|
+
<!-- thead-list 等价写法 -->
|
|
17
|
+
<!-- <template #default>
|
|
18
|
+
<RenderTableHeadColumn
|
|
19
|
+
required
|
|
20
|
+
:min-width="120"
|
|
21
|
+
:width="450"
|
|
22
|
+
>
|
|
23
|
+
<span>目标集群</span>
|
|
24
|
+
</RenderTableHeadColumn>
|
|
25
|
+
<RenderTableHeadColumn
|
|
26
|
+
fixed="right"
|
|
27
|
+
:required="false"
|
|
28
|
+
:width="100"
|
|
29
|
+
>
|
|
30
|
+
操作
|
|
31
|
+
</RenderTableHeadColumn>
|
|
32
|
+
</template> -->
|
|
33
|
+
<template #data>
|
|
34
|
+
<RenderRow
|
|
35
|
+
v-for="(item, index) in tableData"
|
|
36
|
+
:key="item.rowKey"
|
|
37
|
+
ref="rowRefs"
|
|
38
|
+
:data="item"
|
|
39
|
+
@add="payload => handleAppend(index, payload)"
|
|
40
|
+
@remove="handleRemove(index)"
|
|
41
|
+
/>
|
|
42
|
+
</template>
|
|
43
|
+
</Ediatable>
|
|
44
|
+
<Button
|
|
45
|
+
theme="primary"
|
|
46
|
+
@click="handleSubmit"
|
|
47
|
+
>
|
|
48
|
+
提交
|
|
49
|
+
</Button>
|
|
50
|
+
</template>
|
|
51
|
+
<script setup lang="tsx">
|
|
52
|
+
import { ref } from 'vue';
|
|
53
|
+
|
|
54
|
+
import { Ediatable } from '@blueking/ediatable';
|
|
55
|
+
import('@blueking/ediatable/vue3/vue3.css');
|
|
56
|
+
|
|
57
|
+
const rowRefs = ref();
|
|
58
|
+
const tableData = ref([createRowData()]);
|
|
59
|
+
|
|
60
|
+
const theadList: IHead[] = [
|
|
61
|
+
{
|
|
62
|
+
minWidth: 120,
|
|
63
|
+
title: '目标集群',
|
|
64
|
+
width: 450,
|
|
65
|
+
renderAppend: () => <span style='color: red;margin-left:5px;font-size:10px'>必填</span>,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
fixed: 'right',
|
|
69
|
+
required: false,
|
|
70
|
+
title: '操作',
|
|
71
|
+
width: 100,
|
|
72
|
+
},
|
|
73
|
+
];
|
|
74
|
+
|
|
75
|
+
// 追加一个集群
|
|
76
|
+
const handleAppend = (index: number, appendList: Array<IDataRow>) => {
|
|
77
|
+
tableData.value.splice(index + 1, 0, ...appendList);
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
// 删除一个集群
|
|
81
|
+
const handleRemove = (index: number) => {
|
|
82
|
+
tableData.value.splice(index, 1);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
const handleSubmit = async () => {
|
|
86
|
+
const params = await Promise.all(rowRefs.value.map((item: { getValue: () => any }) => item.getValue()));
|
|
87
|
+
console.log('params>>>', params);
|
|
88
|
+
};
|
|
89
|
+
</script>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
##### RenderRow.vue参考代码
|
|
93
|
+
|
|
94
|
+
推荐自定义表格的行组件,将每一列的组件纳入其中统一管理,便于后期的增删及交互处理。
|
|
95
|
+
|
|
96
|
+
```vue
|
|
97
|
+
<template>
|
|
98
|
+
<tr>
|
|
99
|
+
<td>
|
|
100
|
+
<RenderTargetCluster
|
|
101
|
+
ref="clusterRef"
|
|
102
|
+
:data="data.cluster"
|
|
103
|
+
@input-finish="handleInputFinish"
|
|
104
|
+
/>
|
|
105
|
+
</td>
|
|
106
|
+
<td>
|
|
107
|
+
<TextPlainColumn
|
|
108
|
+
:data="data.nodeType"
|
|
109
|
+
:is-loading="data.isLoading"
|
|
110
|
+
placeholder="输入集群后自动生成"
|
|
111
|
+
/>
|
|
112
|
+
</td>
|
|
113
|
+
<td>
|
|
114
|
+
<RenderTargetNumber
|
|
115
|
+
ref="numRef"
|
|
116
|
+
:data="data.targetNum"
|
|
117
|
+
:disabled="!data.cluster"
|
|
118
|
+
:is-loading="data.isLoading"
|
|
119
|
+
/>
|
|
120
|
+
</td>
|
|
121
|
+
<td>
|
|
122
|
+
<RenderKeyRelated
|
|
123
|
+
required
|
|
124
|
+
ref="includeKeyRef"
|
|
125
|
+
/>
|
|
126
|
+
</td>
|
|
127
|
+
<td>
|
|
128
|
+
<RenderTargetDateTime
|
|
129
|
+
ref="timeRef"
|
|
130
|
+
:data="data.targetDateTime"
|
|
131
|
+
:is-loading="data.isLoading"
|
|
132
|
+
/>
|
|
133
|
+
</td>
|
|
134
|
+
<td>
|
|
135
|
+
<RenderSwitchMode
|
|
136
|
+
ref="switchModeRef"
|
|
137
|
+
:data="data.switchMode"
|
|
138
|
+
:is-loading="data.isLoading"
|
|
139
|
+
/>
|
|
140
|
+
</td>
|
|
141
|
+
<OperationColumn
|
|
142
|
+
:removeable="removeable"
|
|
143
|
+
show-copy
|
|
144
|
+
@add="handleAppend"
|
|
145
|
+
@remove="handleRemove"
|
|
146
|
+
/>
|
|
147
|
+
</tr>
|
|
148
|
+
</template>
|
|
149
|
+
<script lang="ts">
|
|
150
|
+
import _ from 'lodash';
|
|
151
|
+
import { OperationColumn, TextPlainColumn } from '@blueking/ediatable';
|
|
152
|
+
// 下面这几个都是自定义列组件
|
|
153
|
+
import RenderTargetCluster from './cluster-name.vue';
|
|
154
|
+
import RenderSwitchMode from './switch-mode.vue';
|
|
155
|
+
import RenderTargetNumber from './target-number.vue';
|
|
156
|
+
import RenderKeyRelated from './regex-keys.vue';
|
|
157
|
+
import RenderTargetDateTime from './target-datetime.vue';
|
|
158
|
+
|
|
159
|
+
export interface IDataRow {
|
|
160
|
+
rowKey?: string;
|
|
161
|
+
isLoading?: boolean;
|
|
162
|
+
cluster: string;
|
|
163
|
+
nodeType?: string;
|
|
164
|
+
switchMode?: string;
|
|
165
|
+
targetNum?: number;
|
|
166
|
+
targetDateTime?: string;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
const random = () => `${_.random(0, 999999)}_${Date.now()}_${_.random(0, 999999)}`;
|
|
170
|
+
|
|
171
|
+
// 创建表格行数据
|
|
172
|
+
export const createRowData = (data?: IDataRow): IDataRow => ({
|
|
173
|
+
rowKey: random(),
|
|
174
|
+
isLoading: false,
|
|
175
|
+
cluster: data?.cluster ?? '',
|
|
176
|
+
nodeType: data?.nodeType ?? '',
|
|
177
|
+
switchMode: data?.switchMode ?? '',
|
|
178
|
+
});
|
|
179
|
+
</script>
|
|
180
|
+
<script setup lang="ts">
|
|
181
|
+
import { ref } from 'vue';
|
|
182
|
+
interface Props {
|
|
183
|
+
data: IDataRow;
|
|
184
|
+
removeable: boolean;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
interface Emits {
|
|
188
|
+
(e: 'add', params: Array<IDataRow>): void;
|
|
189
|
+
(e: 'remove'): void;
|
|
190
|
+
(e: 'clusterInputFinish', value: string): void;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
interface Exposes {
|
|
194
|
+
getValue: () => Promise<{
|
|
195
|
+
cluster: string;
|
|
196
|
+
target_num: number;
|
|
197
|
+
include_keys: string[];
|
|
198
|
+
target_time: string;
|
|
199
|
+
mode: string;
|
|
200
|
+
}>;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
const props = defineProps<Props>();
|
|
204
|
+
|
|
205
|
+
const emits = defineEmits<Emits>();
|
|
206
|
+
|
|
207
|
+
const clusterRef = ref<InstanceType<typeof RenderTargetCluster>>();
|
|
208
|
+
const numRef = ref<InstanceType<typeof RenderTargetNumber>>();
|
|
209
|
+
const includeKeyRef = ref<InstanceType<typeof RenderKeyRelated>>();
|
|
210
|
+
const timeRef = ref<InstanceType<typeof RenderTargetDateTime>>();
|
|
211
|
+
const switchModeRef = ref<InstanceType<typeof RenderSwitchMode>>();
|
|
212
|
+
|
|
213
|
+
const handleInputFinish = (value: string) => {
|
|
214
|
+
emits('clusterInputFinish', value);
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
const handleAppend = () => {
|
|
218
|
+
emits('add', [createRowData()]);
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
const handleRemove = () => {
|
|
222
|
+
if (props.removeable) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
emits('remove');
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
defineExpose<Exposes>({
|
|
229
|
+
async getValue() {
|
|
230
|
+
return await Promise.all([
|
|
231
|
+
clusterRef.value!.getValue(),
|
|
232
|
+
numRef.value!.getValue(),
|
|
233
|
+
includeKeyRef.value!.getValue(),
|
|
234
|
+
timeRef.value!.getValue(),
|
|
235
|
+
switchModeRef.value!.getValue(),
|
|
236
|
+
]).then(data => {
|
|
237
|
+
const [cluster, target_num, include_keys, target_time, mode] = data;
|
|
238
|
+
return {
|
|
239
|
+
cluster,
|
|
240
|
+
target_num,
|
|
241
|
+
include_keys,
|
|
242
|
+
target_time,
|
|
243
|
+
mode,
|
|
244
|
+
};
|
|
245
|
+
});
|
|
246
|
+
},
|
|
247
|
+
});
|
|
248
|
+
</script>
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
##### RenderTargetCluster.vue参考代码
|
|
252
|
+
|
|
253
|
+
其他自定义列组件也可参考进行封装
|
|
254
|
+
|
|
255
|
+
```vue
|
|
256
|
+
<template>
|
|
257
|
+
<InputColumn
|
|
258
|
+
ref="editRef"
|
|
259
|
+
v-model="localValue"
|
|
260
|
+
placeholder=”请输入或选择集群"
|
|
261
|
+
:rules="rules"
|
|
262
|
+
@submit="value => handleInputFinish(value)"
|
|
263
|
+
/>
|
|
264
|
+
</template>
|
|
265
|
+
<script setup lang="ts">
|
|
266
|
+
import { ref, watch } from 'vue';
|
|
267
|
+
|
|
268
|
+
import { InputColumn } from '@blueking/ediatable';
|
|
269
|
+
|
|
270
|
+
interface Props {
|
|
271
|
+
data?: string;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
interface Emits {
|
|
275
|
+
(e: 'input-finish', value: string): void;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
interface Exposes {
|
|
279
|
+
getValue: () => Promise<string>;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
const props = withDefaults(defineProps<Props>(), {
|
|
283
|
+
data: '',
|
|
284
|
+
inputed: () => [],
|
|
285
|
+
});
|
|
286
|
+
|
|
287
|
+
const emits = defineEmits<Emits>();
|
|
288
|
+
|
|
289
|
+
const localValue = ref(props.data);
|
|
290
|
+
const editRef = ref();
|
|
291
|
+
|
|
292
|
+
const rules = [
|
|
293
|
+
{
|
|
294
|
+
validator: (value: string) => Boolean(value),
|
|
295
|
+
message: '目标集群不能为空',
|
|
296
|
+
},
|
|
297
|
+
];
|
|
298
|
+
|
|
299
|
+
watch(
|
|
300
|
+
() => props.data,
|
|
301
|
+
data => {
|
|
302
|
+
localValue.value = data;
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
immediate: true,
|
|
306
|
+
},
|
|
307
|
+
);
|
|
308
|
+
|
|
309
|
+
const handleInputFinish = (value: string) => {
|
|
310
|
+
emits('input-finish', value);
|
|
311
|
+
};
|
|
312
|
+
|
|
313
|
+
defineExpose<Exposes>({
|
|
314
|
+
getValue() {
|
|
315
|
+
return editRef.value.getValue().then(() => localValue.value);
|
|
316
|
+
},
|
|
317
|
+
});
|
|
318
|
+
</script>
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
### 属性列表
|
|
322
|
+
|
|
323
|
+
| 属性名 | 描述 | 属性类型 | 默认值 |
|
|
324
|
+
| --------- | ------------ | -------------- | ------ |
|
|
325
|
+
| theadList | 表头列表配置 | `Array<IHead>` | [] |
|
|
326
|
+
|
|
327
|
+
#### IHead
|
|
328
|
+
|
|
329
|
+
| 属性名 | 描述 | 属性类型 | 默认值 |
|
|
330
|
+
| ------------ | ---------------------- | -------------------------------- | --------- |
|
|
331
|
+
| fixed | 表头列是否固定 | `right 或 left 或 undefined` | undefined |
|
|
332
|
+
| maxWidth | 表头列最大宽度 | `number 或 undefined` | undefined |
|
|
333
|
+
| minWidth | 表头列最小宽度 | `number 或 undefined` | undefined |
|
|
334
|
+
| required | 是否必填标志 | `boolean` | true |
|
|
335
|
+
| title | 表头列名 | `string 或 undefined` | undefined |
|
|
336
|
+
| width | 表头列宽度 | `number 或 undefined` | undefined |
|
|
337
|
+
| renderAppend | 表头列名之后追加的元素 | `() => JSX.Element 或 undefined` | undefined |
|
|
338
|
+
|
|
339
|
+
### Slots插槽
|
|
340
|
+
|
|
341
|
+
| 名称 | 描述 |
|
|
342
|
+
| ------- | ---- |
|
|
343
|
+
| default | 表头 |
|
|
344
|
+
| data | 列表 |
|
|
345
|
+
|
|
346
|
+
### 可编辑列基础组件(基于bkui-vue3组件库)
|
|
347
|
+
|
|
348
|
+
#### IRule
|
|
349
|
+
|
|
350
|
+
| 属性名 | 描述 | 属性类型 | 默认值 |
|
|
351
|
+
| --------- | ------------ | --------------------------------------------- | ------ |
|
|
352
|
+
| validator | 校验函数 | `(value: any) => boolean 或 Promise<boolean>` | 无 |
|
|
353
|
+
| message | 校验出错提示 | `string 或 (() => string)` | 无 |
|
|
354
|
+
|
|
355
|
+
#### 输入框组件
|
|
356
|
+
|
|
357
|
+
##### 组件引用
|
|
358
|
+
|
|
359
|
+
```vue
|
|
360
|
+
<script lang="ts">
|
|
361
|
+
import { InputColumn } from '@blueking/ediatable';
|
|
362
|
+
</script>
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
##### 属性列表
|
|
366
|
+
|
|
367
|
+
| 属性名 | 描述 | 属性类型 | 默认值 |
|
|
368
|
+
| ------ | ------------ | --------- | --------- |
|
|
369
|
+
| rules | 校验规则配置 | `IRule[]` | undefined |
|
|
370
|
+
|
|
371
|
+
其他配置同 `bkui-vue3`的`Input`组件
|
|
372
|
+
|
|
373
|
+
##### Emits事件列表
|
|
374
|
+
|
|
375
|
+
| 事件名 | 参数 | 参数类型 | 描述 |
|
|
376
|
+
| ------ | ----- | ------------------ | ------------ |
|
|
377
|
+
| submit | value | `string 或 number` | 输入完成事件 |
|
|
378
|
+
|
|
379
|
+
##### Exposes事件列表
|
|
380
|
+
|
|
381
|
+
| 事件名 | 描述 |
|
|
382
|
+
| -------- | ---------------- |
|
|
383
|
+
| getValue | 校验并获取最新值 |
|
|
384
|
+
| focus | 组件聚焦 |
|
|
385
|
+
|
|
386
|
+
#### 时间选择器组件
|
|
387
|
+
|
|
388
|
+
##### 组件引用
|
|
389
|
+
|
|
390
|
+
```vue
|
|
391
|
+
<script lang="ts">
|
|
392
|
+
import { DateTimePickerColumn } from '@blueking/ediatable';
|
|
393
|
+
</script>
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
##### 组件属性
|
|
397
|
+
|
|
398
|
+
| 属性名 | 描述 | 属性类型 | 默认值 |
|
|
399
|
+
| ------ | ------------ | --------- | --------- |
|
|
400
|
+
| rules | 校验规则配置 | `IRule[]` | undefined |
|
|
401
|
+
|
|
402
|
+
其他配置同 `bkui-vue3`的`TimerPicker`组件
|
|
403
|
+
|
|
404
|
+
##### Emits事件列表
|
|
405
|
+
|
|
406
|
+
| 事件名 | 参数 | 参数类型 | 描述 |
|
|
407
|
+
| ------ | ----- | ---------------------------- | ------------ |
|
|
408
|
+
| change | value | `[string, string] 或 string` | 选择完成事件 |
|
|
409
|
+
|
|
410
|
+
##### Exposes事件列表
|
|
411
|
+
|
|
412
|
+
| 事件名 | 描述 |
|
|
413
|
+
| -------- | ---------------- |
|
|
414
|
+
| getValue | 校验并获取最新值 |
|
|
415
|
+
|
|
416
|
+
#### 下拉选框组件
|
|
417
|
+
|
|
418
|
+
##### 组件引用
|
|
419
|
+
|
|
420
|
+
```vue
|
|
421
|
+
<script lang="ts">
|
|
422
|
+
import { SelectColumn } from '@blueking/ediatable';
|
|
423
|
+
</script>
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
##### 组件属性
|
|
427
|
+
|
|
428
|
+
| 属性名 | 描述 | 属性类型 | 默认值 |
|
|
429
|
+
| ------ | ------------ | --------- | --------- |
|
|
430
|
+
| rules | 校验规则配置 | `IRule[]` | undefined |
|
|
431
|
+
|
|
432
|
+
其他配置同 `bkui-vue3`的`Select`组件
|
|
433
|
+
|
|
434
|
+
##### Emits事件列表
|
|
435
|
+
|
|
436
|
+
| 事件名 | 参数 | 参数类型 | 描述 |
|
|
437
|
+
| ------ | ----- | ------------------ | ------------ |
|
|
438
|
+
| change | value | `string 或 number` | 选择完成事件 |
|
|
439
|
+
|
|
440
|
+
##### Exposes事件列表
|
|
441
|
+
|
|
442
|
+
| 事件名 | 描述 |
|
|
443
|
+
| -------- | ---------------- |
|
|
444
|
+
| getValue | 校验并获取最新值 |
|
|
445
|
+
|
|
446
|
+
#### TagInput输入框组件
|
|
447
|
+
|
|
448
|
+
##### 组件引用
|
|
449
|
+
|
|
450
|
+
```vue
|
|
451
|
+
<script lang="ts">
|
|
452
|
+
import { TagInputColumn } from '@blueking/ediatable';
|
|
453
|
+
</script>
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
##### 组件属性
|
|
457
|
+
|
|
458
|
+
| 属性名 | 描述 | 属性类型 | 默认值 |
|
|
459
|
+
| ------ | ------------ | --------- | --------- |
|
|
460
|
+
| rules | 校验规则配置 | `IRule[]` | undefined |
|
|
461
|
+
|
|
462
|
+
其他配置同 `bkui-vue3`的`TagInput`组件
|
|
463
|
+
|
|
464
|
+
##### Emits事件列表
|
|
465
|
+
|
|
466
|
+
| 事件名 | 参数 | 参数类型 | 描述 |
|
|
467
|
+
| ------ | ----- | ---------- | ------------ |
|
|
468
|
+
| change | value | `string[]` | 输入完成事件 |
|
|
469
|
+
|
|
470
|
+
##### Exposes事件列表
|
|
471
|
+
|
|
472
|
+
| 事件名 | 描述 |
|
|
473
|
+
| -------- | ---------------- |
|
|
474
|
+
| getValue | 校验并获取最新值 |
|
|
475
|
+
|
|
476
|
+
#### 纯文本展示组件
|
|
477
|
+
|
|
478
|
+
##### 组件引用
|
|
479
|
+
|
|
480
|
+
```vue
|
|
481
|
+
<script lang="ts">
|
|
482
|
+
import { TagInputColumn } from '@blueking/ediatable';
|
|
483
|
+
</script>
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
##### 组件属性
|
|
487
|
+
|
|
488
|
+
| 属性名 | 描述 | 属性类型 | 默认值 |
|
|
489
|
+
| ----------- | ------------ | ------------------------------- | --------- |
|
|
490
|
+
| data | 文本内容 | `string 或 number 或 undefined` | undefined |
|
|
491
|
+
| isLoading | 是否加载中 | `boolean 或 undefined` | undefined |
|
|
492
|
+
| placeholder | 默认展示文本 | `string 或 undefined` | undefined |
|
|
493
|
+
| rules | 校验规则配置 | `IRule[] 或 undefined` | undefined |
|
|
494
|
+
|
|
495
|
+
##### Exposes事件列表
|
|
496
|
+
|
|
497
|
+
| 事件名 | 描述 |
|
|
498
|
+
| -------- | ---------------- |
|
|
499
|
+
| getValue | 校验并获取最新值 |
|
|
500
|
+
|
|
501
|
+
#### 操作列组件
|
|
502
|
+
|
|
503
|
+
##### 组件引用
|
|
504
|
+
|
|
505
|
+
```vue
|
|
506
|
+
<script lang="ts">
|
|
507
|
+
import { OperationColumn } from '@blueking/ediatable';
|
|
508
|
+
</script>
|
|
509
|
+
```
|
|
510
|
+
|
|
511
|
+
##### 组件属性
|
|
512
|
+
|
|
513
|
+
| 属性名 | 描述 | 属性类型 | 默认值 |
|
|
514
|
+
| ---------- | ------------------ | ----------- | ------ |
|
|
515
|
+
| removeable | 删除图标是否可用 | `boolean` | true |
|
|
516
|
+
| showCopy | 是否展示行克隆图标 | `boolean` | false |
|
|
517
|
+
| showAdd | 是否展示添加图标 | `boolean ` | true |
|
|
518
|
+
| showRemove | 是否展示删除图标 | `boolean ` | true |
|
|
519
|
+
|
|
520
|
+
##### Emits事件列表
|
|
521
|
+
|
|
522
|
+
| 事件名 | 参数 | 参数类型 | 描述 |
|
|
523
|
+
| ------ | ---- | -------- | -------- |
|
|
524
|
+
| add | | | 添加事件 |
|
|
525
|
+
| copy | | | 克隆事件 |
|
|
526
|
+
| remove | | | 删除事件 |
|
|
527
|
+
|
|
528
|
+
#### 固定列组件
|
|
529
|
+
|
|
530
|
+
##### 组件引用
|
|
531
|
+
|
|
532
|
+
```vue
|
|
533
|
+
<script lang="ts">
|
|
534
|
+
import { FixedColumn } from '@blueking/ediatable';
|
|
535
|
+
</script>
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
##### 组件属性
|
|
539
|
+
|
|
540
|
+
| 属性名 | 描述 | 属性类型 | 默认值 |
|
|
541
|
+
| ------ | ---------- | --------------- | ------ |
|
|
542
|
+
| fixed | 是否固定列 | `left 或 right` | right |
|
|
543
|
+
|
|
544
|
+
#### 表头列组件
|
|
545
|
+
|
|
546
|
+
##### 组件引用
|
|
547
|
+
|
|
548
|
+
```vue
|
|
549
|
+
<script lang="ts">
|
|
550
|
+
import { HeadColumn } from '@blueking/ediatable';
|
|
551
|
+
</script>
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
##### 组件属性
|
|
555
|
+
|
|
556
|
+
| 属性名 | 描述 | 属性类型 | 默认值 |
|
|
557
|
+
| ------------ | ---------------------- | -------------------------------- | --------- |
|
|
558
|
+
| fixed | 表头列是否固定 | `right 或 left 或 undefined` | undefined |
|
|
559
|
+
| maxWidth | 表头列最大宽度 | `number 或 undefined` | undefined |
|
|
560
|
+
| minWidth | 表头列最小宽度 | `number 或 undefined` | undefined |
|
|
561
|
+
| required | 是否必填标志 | `boolean` | true |
|
|
562
|
+
| title | 表头列名 | `string 或 undefined` | undefined |
|
|
563
|
+
| renderAppend | 表头列名之后追加的元素 | `() => JSX.Element 或 undefined` | undefined |
|
|
564
|
+
|
|
565
|
+
##### Slots插槽
|
|
566
|
+
|
|
567
|
+
| 名称 | 描述 |
|
|
568
|
+
| ------- | ------------ |
|
|
569
|
+
| default | 表头 |
|
|
570
|
+
| append | 表头追加元素 |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blueking/ediatable",
|
|
3
|
-
"version": "0.0.1-beta.
|
|
3
|
+
"version": "0.0.1-beta.8",
|
|
4
4
|
"description": "蓝鲸 Ediatable",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Tencent BlueKing",
|
|
@@ -54,6 +54,10 @@
|
|
|
54
54
|
"engines": {
|
|
55
55
|
"node": ">=18.16.0"
|
|
56
56
|
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"@vitejs/plugin-vue": "5.0.4",
|
|
59
|
+
"@vitejs/plugin-vue-jsx": "3.1.0"
|
|
60
|
+
},
|
|
57
61
|
"dependencies": {
|
|
58
62
|
"@vueuse/core": "10.9.0",
|
|
59
63
|
"vue-i18n": "9.6.5",
|
|
@@ -13,7 +13,8 @@ declare let __VLS_typeProps: Props;
|
|
|
13
13
|
type __VLS_PublicProps = {
|
|
14
14
|
modelValue?: ValueType;
|
|
15
15
|
} & typeof __VLS_typeProps;
|
|
16
|
-
declare
|
|
16
|
+
declare function __VLS_template(): Readonly<Slots> & Slots;
|
|
17
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_PublicProps>, {
|
|
17
18
|
placeholder: string;
|
|
18
19
|
rules: undefined;
|
|
19
20
|
type: undefined;
|
|
@@ -36,7 +37,8 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
|
|
|
36
37
|
placeholder: string;
|
|
37
38
|
rules: Rules;
|
|
38
39
|
disabled: boolean;
|
|
39
|
-
}, {}
|
|
40
|
+
}, {}>;
|
|
41
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
|
40
42
|
export default _default;
|
|
41
43
|
|
|
42
44
|
type __VLS_WithDefaults<P, D> = {
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
interface Props {
|
|
2
2
|
fixed?: 'right' | 'left';
|
|
3
3
|
}
|
|
4
|
-
declare
|
|
4
|
+
declare function __VLS_template(): {
|
|
5
|
+
default?(_: {}): any;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
|
|
5
8
|
fixed: string;
|
|
6
9
|
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
|
|
7
10
|
fixed: string;
|
|
8
11
|
}>>>, {
|
|
9
12
|
fixed: "right" | "left";
|
|
10
|
-
}, {}
|
|
11
|
-
|
|
12
|
-
}>;
|
|
13
|
+
}, {}>;
|
|
14
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
|
13
15
|
export default _default;
|
|
14
16
|
type __VLS_WithDefaults<P, D> = {
|
|
15
17
|
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
@@ -1,17 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
required?: boolean;
|
|
4
|
-
minWidth?: number;
|
|
5
|
-
maxWidth?: number;
|
|
1
|
+
import { JSX } from 'vue/jsx-runtime';
|
|
2
|
+
export interface Props {
|
|
6
3
|
fixed?: 'right' | 'left';
|
|
4
|
+
maxWidth?: number;
|
|
5
|
+
minWidth?: number;
|
|
6
|
+
required?: boolean;
|
|
7
|
+
width?: number;
|
|
8
|
+
renderAppend?: () => JSX.Element;
|
|
7
9
|
memo?: string;
|
|
8
10
|
}
|
|
9
|
-
declare
|
|
11
|
+
declare function __VLS_template(): Readonly<{
|
|
12
|
+
default: any;
|
|
13
|
+
append: any;
|
|
14
|
+
}> & {
|
|
15
|
+
default: any;
|
|
16
|
+
append: any;
|
|
17
|
+
};
|
|
18
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
|
|
10
19
|
width: undefined;
|
|
11
20
|
required: boolean;
|
|
12
21
|
minWidth: undefined;
|
|
13
22
|
maxWidth: undefined;
|
|
14
23
|
fixed: undefined;
|
|
24
|
+
renderAppend: undefined;
|
|
15
25
|
memo: undefined;
|
|
16
26
|
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
|
|
17
27
|
width: undefined;
|
|
@@ -19,18 +29,18 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
|
|
|
19
29
|
minWidth: undefined;
|
|
20
30
|
maxWidth: undefined;
|
|
21
31
|
fixed: undefined;
|
|
32
|
+
renderAppend: undefined;
|
|
22
33
|
memo: undefined;
|
|
23
34
|
}>>>, {
|
|
24
35
|
minWidth: number;
|
|
25
36
|
width: number;
|
|
26
|
-
required: boolean;
|
|
27
37
|
fixed: "right" | "left";
|
|
28
38
|
maxWidth: number;
|
|
39
|
+
required: boolean;
|
|
40
|
+
renderAppend: () => JSX.Element;
|
|
29
41
|
memo: string;
|
|
30
|
-
}, {}
|
|
31
|
-
|
|
32
|
-
append?(_: {}): any;
|
|
33
|
-
}>;
|
|
42
|
+
}, {}>;
|
|
43
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
|
34
44
|
export default _default;
|
|
35
45
|
type __VLS_WithDefaults<P, D> = {
|
|
36
46
|
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
@@ -13,7 +13,10 @@ declare let __VLS_typeProps: Props;
|
|
|
13
13
|
type __VLS_PublicProps = {
|
|
14
14
|
modelValue?: string | number;
|
|
15
15
|
} & typeof __VLS_typeProps;
|
|
16
|
-
declare
|
|
16
|
+
declare function __VLS_template(): {
|
|
17
|
+
blur?(_: {}): any;
|
|
18
|
+
};
|
|
19
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_PublicProps>, {
|
|
17
20
|
placeholder: string;
|
|
18
21
|
rules: undefined;
|
|
19
22
|
disabled: boolean;
|
|
@@ -49,9 +52,8 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
|
|
|
49
52
|
max: number;
|
|
50
53
|
isShowBlur: boolean;
|
|
51
54
|
precision: number;
|
|
52
|
-
}, {}
|
|
53
|
-
|
|
54
|
-
}>;
|
|
55
|
+
}, {}>;
|
|
56
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
|
55
57
|
export default _default;
|
|
56
58
|
type __VLS_WithDefaults<P, D> = {
|
|
57
59
|
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|