vxe-pc-ui 3.3.40 → 3.3.42
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/es/color-picker/src/color-picker.js +10 -1
- package/es/form/src/render.js +3 -2
- package/es/icon/style.css +1 -1
- package/es/list/src/list.js +60 -12
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +2 -1
- package/es/ui/src/log.js +1 -1
- package/es/upload/src/upload.js +9 -2
- package/es/upload/style.css +9 -7
- package/es/upload/style.min.css +1 -1
- package/es/vxe-upload/style.css +9 -7
- package/es/vxe-upload/style.min.css +1 -1
- package/lib/color-picker/src/color-picker.js +10 -1
- package/lib/color-picker/src/color-picker.min.js +1 -1
- package/lib/form/src/render.js +2 -1
- package/lib/form/src/render.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +82 -16
- package/lib/index.umd.min.js +1 -1
- package/lib/list/src/list.js +58 -11
- package/lib/list/src/list.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +2 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/upload/src/upload.js +9 -1
- package/lib/upload/src/upload.min.js +1 -1
- package/lib/upload/style/style.css +9 -7
- package/lib/upload/style/style.min.css +1 -1
- package/lib/vxe-upload/style/style.css +9 -7
- package/lib/vxe-upload/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/color-picker/src/color-picker.ts +8 -0
- package/packages/form/src/render.ts +3 -2
- package/packages/list/src/list.ts +63 -13
- package/packages/ui/index.ts +1 -0
- package/packages/upload/src/upload.ts +10 -3
- package/styles/components/upload.scss +12 -11
- package/types/components/color-picker.d.ts +42 -2
- package/types/components/list.d.ts +3 -1
- package/types/components/table-module/edit.d.ts +26 -7
- /package/es/icon/{iconfont.1734517198871.ttf → iconfont.1734675929343.ttf} +0 -0
- /package/es/icon/{iconfont.1734517198871.woff → iconfont.1734675929343.woff} +0 -0
- /package/es/icon/{iconfont.1734517198871.woff2 → iconfont.1734675929343.woff2} +0 -0
- /package/es/{iconfont.1734517198871.ttf → iconfont.1734675929343.ttf} +0 -0
- /package/es/{iconfont.1734517198871.woff → iconfont.1734675929343.woff} +0 -0
- /package/es/{iconfont.1734517198871.woff2 → iconfont.1734675929343.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1734517198871.ttf → iconfont.1734675929343.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1734517198871.woff → iconfont.1734675929343.woff} +0 -0
- /package/lib/icon/style/{iconfont.1734517198871.woff2 → iconfont.1734675929343.woff2} +0 -0
- /package/lib/{iconfont.1734517198871.ttf → iconfont.1734675929343.ttf} +0 -0
- /package/lib/{iconfont.1734517198871.woff → iconfont.1734675929343.woff} +0 -0
- /package/lib/{iconfont.1734517198871.woff2 → iconfont.1734675929343.woff2} +0 -0
|
@@ -2,7 +2,7 @@ import { PropType, CreateElement, VNode } from 'vue'
|
|
|
2
2
|
import { defineVxeComponent } from '../../ui/src/comp'
|
|
3
3
|
import XEUtils from 'xe-utils'
|
|
4
4
|
import { getConfig, globalEvents, globalResize, createEvent, globalMixins } from '../../ui'
|
|
5
|
-
import { browse } from '../../ui/src/dom'
|
|
5
|
+
import { browse, isScale } from '../../ui/src/dom'
|
|
6
6
|
import { getSlotVNs } from '../../ui/src/vn'
|
|
7
7
|
import VxeLoadingComponent from '../../loading/src/loading'
|
|
8
8
|
|
|
@@ -29,7 +29,9 @@ export default defineVxeComponent({
|
|
|
29
29
|
const reactData: ListReactData = {
|
|
30
30
|
scrollYLoad: false,
|
|
31
31
|
bodyHeight: 0,
|
|
32
|
-
|
|
32
|
+
customHeight: 0,
|
|
33
|
+
customMaxHeight: 0,
|
|
34
|
+
parentHeight: 0,
|
|
33
35
|
topSpaceHeight: 0,
|
|
34
36
|
items: []
|
|
35
37
|
}
|
|
@@ -65,14 +67,16 @@ export default defineVxeComponent({
|
|
|
65
67
|
computeStyles () {
|
|
66
68
|
const $xeList = this
|
|
67
69
|
const props = $xeList
|
|
70
|
+
const reactData = $xeList.reactData
|
|
68
71
|
|
|
69
72
|
const { height, maxHeight } = props
|
|
73
|
+
const { customHeight, customMaxHeight } = reactData
|
|
70
74
|
const style: { [key: string]: string | number } = {}
|
|
71
75
|
if (height) {
|
|
72
|
-
style.height = `${
|
|
76
|
+
style.height = `${customHeight}px`
|
|
73
77
|
} else if (maxHeight) {
|
|
74
78
|
style.height = 'auto'
|
|
75
|
-
style.maxHeight = `${
|
|
79
|
+
style.maxHeight = `${customMaxHeight}px`
|
|
76
80
|
}
|
|
77
81
|
return style
|
|
78
82
|
}
|
|
@@ -135,6 +139,35 @@ export default defineVxeComponent({
|
|
|
135
139
|
$xeList.clearScroll()
|
|
136
140
|
return $xeList.loadData(datas)
|
|
137
141
|
},
|
|
142
|
+
calcTableHeight (key: 'height' | 'maxHeight') {
|
|
143
|
+
const $xeList = this
|
|
144
|
+
const props = $xeList
|
|
145
|
+
const reactData = $xeList.reactData
|
|
146
|
+
|
|
147
|
+
const { parentHeight } = reactData
|
|
148
|
+
const val = props[key]
|
|
149
|
+
let num = 0
|
|
150
|
+
if (val) {
|
|
151
|
+
if (val === '100%' || val === 'auto') {
|
|
152
|
+
num = parentHeight
|
|
153
|
+
} else {
|
|
154
|
+
if (isScale(val)) {
|
|
155
|
+
num = Math.floor((XEUtils.toInteger(val) || 1) / 100 * parentHeight)
|
|
156
|
+
} else {
|
|
157
|
+
num = XEUtils.toNumber(val)
|
|
158
|
+
}
|
|
159
|
+
num = Math.max(40, num)
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return num
|
|
163
|
+
},
|
|
164
|
+
updateHeight () {
|
|
165
|
+
const $xeList = this
|
|
166
|
+
const reactData = $xeList.reactData
|
|
167
|
+
|
|
168
|
+
reactData.customHeight = $xeList.calcTableHeight('height')
|
|
169
|
+
reactData.customMaxHeight = $xeList.calcTableHeight('maxHeight')
|
|
170
|
+
},
|
|
138
171
|
updateYSpace () {
|
|
139
172
|
const $xeList = this
|
|
140
173
|
const reactData = $xeList.reactData
|
|
@@ -169,7 +202,7 @@ export default defineVxeComponent({
|
|
|
169
202
|
return $xeList.$nextTick().then(() => {
|
|
170
203
|
const { scrollYLoad } = reactData
|
|
171
204
|
const { scrollYStore } = internalData
|
|
172
|
-
const virtualBodyElem = $xeList.$refs.refVirtualBody as
|
|
205
|
+
const virtualBodyElem = $xeList.$refs.refVirtualBody as HTMLDivElement
|
|
173
206
|
const sYOpts = $xeList.computeSYOpts
|
|
174
207
|
let rowHeight = 0
|
|
175
208
|
let firstItemElem: HTMLElement | undefined
|
|
@@ -193,12 +226,11 @@ export default defineVxeComponent({
|
|
|
193
226
|
const offsetYSize = sYOpts.oSize ? XEUtils.toNumber(sYOpts.oSize) : (browse.edge ? 10 : 0)
|
|
194
227
|
scrollYStore.offsetSize = offsetYSize
|
|
195
228
|
scrollYStore.visibleSize = visibleYSize
|
|
196
|
-
scrollYStore.endIndex = Math.max(scrollYStore.startIndex
|
|
229
|
+
scrollYStore.endIndex = Math.max(scrollYStore.startIndex + visibleYSize + offsetYSize, scrollYStore.endIndex)
|
|
197
230
|
$xeList.updateYData()
|
|
198
231
|
} else {
|
|
199
232
|
$xeList.updateYSpace()
|
|
200
233
|
}
|
|
201
|
-
reactData.rowHeight = rowHeight
|
|
202
234
|
})
|
|
203
235
|
},
|
|
204
236
|
/**
|
|
@@ -261,12 +293,18 @@ export default defineVxeComponent({
|
|
|
261
293
|
*/
|
|
262
294
|
recalculate () {
|
|
263
295
|
const $xeList = this
|
|
296
|
+
const reactData = $xeList.reactData
|
|
264
297
|
|
|
265
298
|
const el = $xeList.$refs.refElem as HTMLDivElement
|
|
266
|
-
if (el
|
|
267
|
-
|
|
299
|
+
if (el) {
|
|
300
|
+
const parentEl = el.parentElement
|
|
301
|
+
reactData.parentHeight = parentEl ? parentEl.clientHeight : 0
|
|
302
|
+
$xeList.updateHeight()
|
|
303
|
+
if (el.clientWidth && el.clientHeight) {
|
|
304
|
+
return $xeList.computeScrollLoad()
|
|
305
|
+
}
|
|
268
306
|
}
|
|
269
|
-
return
|
|
307
|
+
return $xeList.$nextTick()
|
|
270
308
|
},
|
|
271
309
|
loadYData (evnt: Event) {
|
|
272
310
|
const $xeList = this
|
|
@@ -367,6 +405,16 @@ export default defineVxeComponent({
|
|
|
367
405
|
|
|
368
406
|
$xeList.loadData(props.data || [])
|
|
369
407
|
},
|
|
408
|
+
height () {
|
|
409
|
+
const $xeList = this
|
|
410
|
+
|
|
411
|
+
$xeList.recalculate()
|
|
412
|
+
},
|
|
413
|
+
maxHeight () {
|
|
414
|
+
const $xeList = this
|
|
415
|
+
|
|
416
|
+
$xeList.recalculate()
|
|
417
|
+
},
|
|
370
418
|
syncResize (val) {
|
|
371
419
|
const $xeList = this
|
|
372
420
|
|
|
@@ -380,9 +428,6 @@ export default defineVxeComponent({
|
|
|
380
428
|
const $xeList = this
|
|
381
429
|
const props = $xeList
|
|
382
430
|
|
|
383
|
-
globalEvents.on($xeList, 'resize', () => {
|
|
384
|
-
$xeList.recalculate()
|
|
385
|
-
})
|
|
386
431
|
$xeList.loadData(props.data || [])
|
|
387
432
|
},
|
|
388
433
|
mounted () {
|
|
@@ -390,12 +435,17 @@ export default defineVxeComponent({
|
|
|
390
435
|
const props = $xeList
|
|
391
436
|
const internalData = $xeList.internalData
|
|
392
437
|
|
|
438
|
+
$xeList.recalculate()
|
|
393
439
|
if (props.autoResize) {
|
|
394
440
|
const el = $xeList.$refs.refElem as HTMLDivElement
|
|
395
441
|
const resizeObserver = globalResize.create(() => $xeList.recalculate())
|
|
396
442
|
resizeObserver.observe(el)
|
|
443
|
+
if (el) {
|
|
444
|
+
resizeObserver.observe(el.parentElement as HTMLDivElement)
|
|
445
|
+
}
|
|
397
446
|
internalData.resizeObserver = resizeObserver
|
|
398
447
|
}
|
|
448
|
+
globalEvents.on($xeList, 'resize', $xeList.recalculate)
|
|
399
449
|
},
|
|
400
450
|
activated () {
|
|
401
451
|
const $xeList = this
|
package/packages/ui/index.ts
CHANGED
|
@@ -1008,7 +1008,7 @@ export default defineVxeComponent({
|
|
|
1008
1008
|
slots: {
|
|
1009
1009
|
default (params, h) {
|
|
1010
1010
|
const { showErrorStatus, dragToUpload, dragSort } = props
|
|
1011
|
-
const { isDragMove, isDragUploadStatus, dragIndex } = reactData
|
|
1011
|
+
const { isActivated, isDragMove, isDragUploadStatus, dragIndex } = reactData
|
|
1012
1012
|
const { fileList } = reactData
|
|
1013
1013
|
const isDisabled = $xeUpload.computeIsDisabled
|
|
1014
1014
|
|
|
@@ -1026,6 +1026,7 @@ export default defineVxeComponent({
|
|
|
1026
1026
|
class: ['vxe-upload--more-popup', {
|
|
1027
1027
|
'is--readonly': formReadonly,
|
|
1028
1028
|
'is--disabled': isDisabled,
|
|
1029
|
+
'is--active': isActivated,
|
|
1029
1030
|
'show--error': showErrorStatus,
|
|
1030
1031
|
'is--drag': isDragUploadStatus
|
|
1031
1032
|
}],
|
|
@@ -1199,8 +1200,14 @@ export default defineVxeComponent({
|
|
|
1199
1200
|
const $xeUpload = this
|
|
1200
1201
|
const reactData = $xeUpload.reactData
|
|
1201
1202
|
|
|
1202
|
-
const el = $xeUpload.$refs.refElem
|
|
1203
|
-
const
|
|
1203
|
+
const el = $xeUpload.$refs.refElem as HTMLDivElement
|
|
1204
|
+
const popupEl = $xeUpload.$refs.refPopupElem as HTMLDivElement
|
|
1205
|
+
let isActivated = getEventTargetNode(evnt, el).flag
|
|
1206
|
+
if (!isActivated && popupEl) {
|
|
1207
|
+
const parentEl = popupEl.parentElement || popupEl
|
|
1208
|
+
const modalEl = parentEl ? parentEl.parentElement : parentEl
|
|
1209
|
+
isActivated = getEventTargetNode(evnt, modalEl).flag
|
|
1210
|
+
}
|
|
1204
1211
|
reactData.isActivated = isActivated
|
|
1205
1212
|
},
|
|
1206
1213
|
handleGlobalBlurEvent () {
|
|
@@ -2,17 +2,6 @@
|
|
|
2
2
|
position: relative;
|
|
3
3
|
color: var(--vxe-ui-font-color);
|
|
4
4
|
font-family: var(--vxe-ui-font-family);
|
|
5
|
-
&.is--active {
|
|
6
|
-
.vxe-upload--image-action-box {
|
|
7
|
-
border-color: var(--vxe-ui-font-primary-color);
|
|
8
|
-
}
|
|
9
|
-
.vxe-upload--file-action-btn {
|
|
10
|
-
& > .vxe-button {
|
|
11
|
-
border-color: var(--vxe-ui-font-primary-color);
|
|
12
|
-
border-style: var(--vxe-ui-upload-file-button-border-style);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
5
|
&.show--error {
|
|
17
6
|
.vxe-upload--file-item {
|
|
18
7
|
&.is--error {
|
|
@@ -29,8 +18,20 @@
|
|
|
29
18
|
}
|
|
30
19
|
}
|
|
31
20
|
}
|
|
21
|
+
|
|
32
22
|
.vxe-upload,
|
|
33
23
|
.vxe-upload--more-popup {
|
|
24
|
+
&.is--active {
|
|
25
|
+
.vxe-upload--image-action-box {
|
|
26
|
+
border-color: var(--vxe-ui-font-primary-color);
|
|
27
|
+
}
|
|
28
|
+
.vxe-upload--file-action-btn {
|
|
29
|
+
& > .vxe-button {
|
|
30
|
+
border-color: var(--vxe-ui-font-primary-color);
|
|
31
|
+
border-style: var(--vxe-ui-upload-file-button-border-style);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
34
35
|
&.is--disabled {
|
|
35
36
|
.vxe-upload--file-action-btn,
|
|
36
37
|
.vxe-upload--image-action-box {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentEventParams } from '@vxe-ui/core'
|
|
1
|
+
import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentEventParams, VxeComponentStyleType } from '@vxe-ui/core'
|
|
2
2
|
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-empty-interface,no-use-before-define,@typescript-eslint/ban-types */
|
|
4
4
|
|
|
@@ -16,9 +16,32 @@ export interface ColorPickerPrivateRef {
|
|
|
16
16
|
export interface VxeColorPickerPrivateRef extends ColorPickerPrivateRef { }
|
|
17
17
|
|
|
18
18
|
export namespace VxeColorPickerPropTypes {
|
|
19
|
+
export type ModelValue = string
|
|
20
|
+
export type Size = VxeComponentSizeType
|
|
21
|
+
export type ClassName = string | ((params: { $colorPicker: VxeColorPickerConstructor }) => string)
|
|
22
|
+
export type PopupClassName = string | ((params: {$colorPicker: VxeColorPickerConstructor }) => string)
|
|
23
|
+
export type Readonly = boolean
|
|
24
|
+
export type Disabled = boolean
|
|
25
|
+
export type Placeholder = string
|
|
26
|
+
export type Clearable = boolean
|
|
27
|
+
export type Placement = 'top' | 'bottom' | '' | null
|
|
28
|
+
export type Transfer = boolean
|
|
19
29
|
}
|
|
20
30
|
|
|
21
31
|
export interface VxeColorPickerProps {
|
|
32
|
+
/**
|
|
33
|
+
* 绑定值
|
|
34
|
+
*/
|
|
35
|
+
modelValue?: VxeColorPickerPropTypes.ModelValue
|
|
36
|
+
size?: VxeColorPickerPropTypes.Size
|
|
37
|
+
className?: VxeColorPickerPropTypes.ClassName
|
|
38
|
+
popupClassName?: VxeColorPickerPropTypes.PopupClassName
|
|
39
|
+
readonly?: VxeColorPickerPropTypes.Readonly
|
|
40
|
+
disabled?: VxeColorPickerPropTypes.Disabled
|
|
41
|
+
placeholder?: VxeColorPickerPropTypes.Placeholder
|
|
42
|
+
clearable?: VxeColorPickerPropTypes.Clearable
|
|
43
|
+
placement?: VxeColorPickerPropTypes.Placement
|
|
44
|
+
transfer?: VxeColorPickerPropTypes.Transfer
|
|
22
45
|
}
|
|
23
46
|
|
|
24
47
|
export interface ColorPickerPrivateComputed {
|
|
@@ -26,6 +49,18 @@ export interface ColorPickerPrivateComputed {
|
|
|
26
49
|
export interface VxeColorPickerPrivateComputed extends ColorPickerPrivateComputed { }
|
|
27
50
|
|
|
28
51
|
export interface ColorPickerReactData {
|
|
52
|
+
initialized: boolean
|
|
53
|
+
selectColor: string
|
|
54
|
+
panelIndex: number
|
|
55
|
+
panelStyle: VxeComponentStyleType
|
|
56
|
+
panelPlacement: any
|
|
57
|
+
visiblePanel: boolean
|
|
58
|
+
isAniVisible: boolean
|
|
59
|
+
isActivated: boolean
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export interface ColorPickerInternalData {
|
|
63
|
+
hpTimeout?: undefined | number
|
|
29
64
|
}
|
|
30
65
|
|
|
31
66
|
export interface ColorPickerMethods {
|
|
@@ -35,7 +70,12 @@ export interface VxeColorPickerMethods extends ColorPickerMethods { }
|
|
|
35
70
|
export interface ColorPickerPrivateMethods { }
|
|
36
71
|
export interface VxeColorPickerPrivateMethods extends ColorPickerPrivateMethods { }
|
|
37
72
|
|
|
38
|
-
export type VxeColorPickerEmits = [
|
|
73
|
+
export type VxeColorPickerEmits = [
|
|
74
|
+
'update:modelValue',
|
|
75
|
+
'change',
|
|
76
|
+
'clear',
|
|
77
|
+
'click'
|
|
78
|
+
]
|
|
39
79
|
|
|
40
80
|
export namespace VxeColorPickerDefines {
|
|
41
81
|
export interface ColorPickerEventParams extends VxeComponentEventParams {
|
|
@@ -63,7 +63,9 @@ export interface VxeListPrivateComputed extends ListPrivateComputed { }
|
|
|
63
63
|
export interface ListReactData {
|
|
64
64
|
scrollYLoad: boolean
|
|
65
65
|
bodyHeight: number
|
|
66
|
-
|
|
66
|
+
customHeight: number
|
|
67
|
+
customMaxHeight: number
|
|
68
|
+
parentHeight: number
|
|
67
69
|
topSpaceHeight: number
|
|
68
70
|
items: any[]
|
|
69
71
|
}
|
|
@@ -14,18 +14,37 @@ export interface TableEditMethods<D = any> {
|
|
|
14
14
|
* 如果 row 为 -1 则从插入到底部,如果为树结构,则插入到目标节点底部
|
|
15
15
|
* 如果 row 为有效行则插入到该行的位置,如果为树结构,则有插入到效的目标节点该行的位置
|
|
16
16
|
* @param {Object/Array} records 新的数据
|
|
17
|
-
* @param {Row}
|
|
17
|
+
* @param {Row} targetRow 指定行
|
|
18
18
|
*/
|
|
19
|
-
insertAt(records: any,
|
|
19
|
+
insertAt(records: any, targetRow: any | -1 | null): Promise<{ row: D, rows: D[] }>
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* 与 insertAt 行为一致,区别就是会插入指定目标的到下一行
|
|
22
|
+
* @param records records 新的数据
|
|
23
|
+
* @param targetRow row 指定行
|
|
24
|
+
*/
|
|
25
|
+
insertNextAt(records: any, targetRow: any | -1 | null): Promise<{ row: D, rows: D[] }>
|
|
26
|
+
/**
|
|
27
|
+
* 用于树结构,往指定节点插入子级临时数据,从子级的第一行新增一行或多行新数据
|
|
28
|
+
* @param records 新数据
|
|
29
|
+
*/
|
|
30
|
+
insertChild(records: any, parentRow: any): Promise<{ row: D, rows: D[] }>
|
|
31
|
+
/**
|
|
32
|
+
* 用于树结构,往指定节点插入子级临时数据
|
|
22
33
|
* 如果 row 为空则从插入到顶部,如果为树结构,则插入到目标节点顶部
|
|
23
34
|
* 如果 row 为 -1 则从插入到底部,如果为树结构,则插入到目标节点底部
|
|
24
|
-
* 如果 row
|
|
25
|
-
* @param records
|
|
26
|
-
* @param
|
|
35
|
+
* 如果 row 为有效行则插入到该行的位置,如果为树结构,则有插入到效的目标节点该行的位置
|
|
36
|
+
* @param records 新的数据
|
|
37
|
+
* @param parentRow 父节点
|
|
38
|
+
* @param targetRow 指定子节点
|
|
39
|
+
*/
|
|
40
|
+
insertChildAt(records: any, parentRow: any, targetRow: any | -1 | null): Promise<{ row: D, rows: D[] }>
|
|
41
|
+
/**
|
|
42
|
+
* 与 insertChildAt 行为一致,区别就是会插入指定目标子级的到下一行
|
|
43
|
+
* @param records 新的数据
|
|
44
|
+
* @param parentRow 父节点
|
|
45
|
+
* @param targetRow 指定子节点
|
|
27
46
|
*/
|
|
28
|
-
|
|
47
|
+
insertChildNextAt(records: any, parentRow: any, targetRow: any | -1 | null): Promise<{ row: D, rows: D[] }>
|
|
29
48
|
/**
|
|
30
49
|
* 删除指定行数据,指定 row 或 [row, ...] 删除多条数据,如果为空则删除所有数据
|
|
31
50
|
* @param rows 指定行
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|