vxe-pc-ui 3.3.98 → 3.3.100

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.
Files changed (153) hide show
  1. package/es/col/style.css +4 -0
  2. package/es/col/style.min.css +1 -1
  3. package/es/date-picker/src/date-picker.js +58 -9
  4. package/es/date-picker/style.css +4 -1
  5. package/es/date-picker/style.min.css +1 -1
  6. package/es/icon/style.css +1 -1
  7. package/es/language/ar-EG.js +2 -1
  8. package/es/language/de-DE.js +2 -1
  9. package/es/language/en-US.js +2 -1
  10. package/es/language/es-ES.js +2 -1
  11. package/es/language/fr-FR.js +2 -1
  12. package/es/language/hu-HU.js +2 -1
  13. package/es/language/hy-AM.js +2 -1
  14. package/es/language/id-ID.js +2 -1
  15. package/es/language/it-IT.js +2 -1
  16. package/es/language/ja-JP.js +3 -2
  17. package/es/language/ko-KR.js +2 -1
  18. package/es/language/nb-NO.js +2 -1
  19. package/es/language/pt-BR.js +2 -1
  20. package/es/language/ru-RU.js +2 -1
  21. package/es/language/th-TH.js +2 -1
  22. package/es/language/ug-CN.js +2 -1
  23. package/es/language/uk-UA.js +2 -1
  24. package/es/language/vi-VN.js +2 -1
  25. package/es/language/zh-CHT.js +2 -1
  26. package/es/language/zh-CN.js +2 -1
  27. package/es/pager/src/pager.js +142 -83
  28. package/es/row/src/col.js +3 -2
  29. package/es/style.css +1 -1
  30. package/es/style.min.css +1 -1
  31. package/es/ui/index.js +2 -1
  32. package/es/ui/src/log.js +1 -1
  33. package/es/vxe-col/style.css +4 -0
  34. package/es/vxe-col/style.min.css +1 -1
  35. package/es/vxe-date-picker/style.css +4 -1
  36. package/es/vxe-date-picker/style.min.css +1 -1
  37. package/lib/col/style/style.css +4 -0
  38. package/lib/col/style/style.min.css +1 -1
  39. package/lib/date-picker/src/date-picker.js +68 -17
  40. package/lib/date-picker/src/date-picker.min.js +1 -1
  41. package/lib/date-picker/style/style.css +4 -1
  42. package/lib/date-picker/style/style.min.css +1 -1
  43. package/lib/icon/style/style.css +1 -1
  44. package/lib/icon/style/style.min.css +1 -1
  45. package/lib/index.umd.js +168 -39
  46. package/lib/index.umd.min.js +1 -1
  47. package/lib/language/ar-EG.js +2 -1
  48. package/lib/language/ar-EG.min.js +1 -1
  49. package/lib/language/de-DE.js +2 -1
  50. package/lib/language/de-DE.min.js +1 -1
  51. package/lib/language/en-US.js +2 -1
  52. package/lib/language/en-US.min.js +1 -1
  53. package/lib/language/en-US.umd.js +2 -1
  54. package/lib/language/es-ES.js +2 -1
  55. package/lib/language/es-ES.min.js +1 -1
  56. package/lib/language/es-ES.umd.js +2 -1
  57. package/lib/language/fr-FR.js +2 -1
  58. package/lib/language/fr-FR.min.js +1 -1
  59. package/lib/language/hu-HU.js +2 -1
  60. package/lib/language/hu-HU.min.js +1 -1
  61. package/lib/language/hu-HU.umd.js +2 -1
  62. package/lib/language/hy-AM.js +2 -1
  63. package/lib/language/hy-AM.min.js +1 -1
  64. package/lib/language/id-ID.js +2 -1
  65. package/lib/language/id-ID.min.js +1 -1
  66. package/lib/language/it-IT.js +2 -1
  67. package/lib/language/it-IT.min.js +1 -1
  68. package/lib/language/ja-JP.js +3 -2
  69. package/lib/language/ja-JP.min.js +1 -1
  70. package/lib/language/ja-JP.umd.js +3 -2
  71. package/lib/language/ko-KR.js +2 -1
  72. package/lib/language/ko-KR.min.js +1 -1
  73. package/lib/language/ko-KR.umd.js +2 -1
  74. package/lib/language/nb-NO.js +2 -1
  75. package/lib/language/nb-NO.min.js +1 -1
  76. package/lib/language/pt-BR.js +2 -1
  77. package/lib/language/pt-BR.min.js +1 -1
  78. package/lib/language/pt-BR.umd.js +2 -1
  79. package/lib/language/ru-RU.js +2 -1
  80. package/lib/language/ru-RU.min.js +1 -1
  81. package/lib/language/ru-RU.umd.js +2 -1
  82. package/lib/language/th-TH.js +2 -1
  83. package/lib/language/th-TH.min.js +1 -1
  84. package/lib/language/ug-CN.js +2 -1
  85. package/lib/language/ug-CN.min.js +1 -1
  86. package/lib/language/uk-UA.js +2 -1
  87. package/lib/language/uk-UA.min.js +1 -1
  88. package/lib/language/uk-UA.umd.js +2 -1
  89. package/lib/language/vi-VN.js +2 -1
  90. package/lib/language/vi-VN.min.js +1 -1
  91. package/lib/language/zh-CHT.js +2 -1
  92. package/lib/language/zh-CHT.min.js +1 -1
  93. package/lib/language/zh-CHT.umd.js +2 -1
  94. package/lib/language/zh-CN.js +2 -1
  95. package/lib/language/zh-CN.min.js +1 -1
  96. package/lib/language/zh-CN.umd.js +2 -1
  97. package/lib/pager/src/pager.js +92 -18
  98. package/lib/pager/src/pager.min.js +1 -1
  99. package/lib/row/src/col.js +3 -1
  100. package/lib/row/src/col.min.js +1 -1
  101. package/lib/style.css +1 -1
  102. package/lib/style.min.css +1 -1
  103. package/lib/ui/index.js +2 -1
  104. package/lib/ui/index.min.js +1 -1
  105. package/lib/ui/src/log.js +1 -1
  106. package/lib/ui/src/log.min.js +1 -1
  107. package/lib/vxe-col/style/style.css +4 -0
  108. package/lib/vxe-col/style/style.min.css +1 -1
  109. package/lib/vxe-date-picker/style/style.css +4 -1
  110. package/lib/vxe-date-picker/style/style.min.css +1 -1
  111. package/package.json +1 -1
  112. package/packages/date-picker/src/date-picker.ts +61 -9
  113. package/packages/language/ar-EG.ts +2 -1
  114. package/packages/language/de-DE.ts +2 -1
  115. package/packages/language/en-US.ts +2 -1
  116. package/packages/language/es-ES.ts +2 -1
  117. package/packages/language/fr-FR.ts +2 -1
  118. package/packages/language/hu-HU.ts +2 -1
  119. package/packages/language/hy-AM.ts +2 -1
  120. package/packages/language/id-ID.ts +2 -1
  121. package/packages/language/it-IT.ts +2 -1
  122. package/packages/language/ja-JP.ts +3 -2
  123. package/packages/language/ko-KR.ts +2 -1
  124. package/packages/language/nb-NO.ts +2 -1
  125. package/packages/language/pt-BR.ts +2 -1
  126. package/packages/language/ru-RU.ts +2 -1
  127. package/packages/language/th-TH.ts +2 -1
  128. package/packages/language/ug-CN.ts +2 -1
  129. package/packages/language/uk-UA.ts +2 -1
  130. package/packages/language/vi-VN.ts +2 -1
  131. package/packages/language/zh-CHT.ts +2 -1
  132. package/packages/language/zh-CN.ts +2 -1
  133. package/packages/pager/src/pager.ts +148 -86
  134. package/packages/row/src/col.ts +3 -2
  135. package/packages/ui/index.ts +1 -0
  136. package/styles/components/col.scss +23 -1
  137. package/styles/components/date-picker.scss +4 -1
  138. package/types/components/date-picker.d.ts +2 -0
  139. package/types/components/pager.d.ts +76 -0
  140. package/types/components/table.d.ts +7 -0
  141. package/types/components/tooltip.d.ts +1 -0
  142. /package/es/icon/{iconfont.1740104010641.ttf → iconfont.1740550739957.ttf} +0 -0
  143. /package/es/icon/{iconfont.1740104010641.woff → iconfont.1740550739957.woff} +0 -0
  144. /package/es/icon/{iconfont.1740104010641.woff2 → iconfont.1740550739957.woff2} +0 -0
  145. /package/es/{iconfont.1740104010641.ttf → iconfont.1740550739957.ttf} +0 -0
  146. /package/es/{iconfont.1740104010641.woff → iconfont.1740550739957.woff} +0 -0
  147. /package/es/{iconfont.1740104010641.woff2 → iconfont.1740550739957.woff2} +0 -0
  148. /package/lib/icon/style/{iconfont.1740104010641.ttf → iconfont.1740550739957.ttf} +0 -0
  149. /package/lib/icon/style/{iconfont.1740104010641.woff → iconfont.1740550739957.woff} +0 -0
  150. /package/lib/icon/style/{iconfont.1740104010641.woff2 → iconfont.1740550739957.woff2} +0 -0
  151. /package/lib/{iconfont.1740104010641.ttf → iconfont.1740550739957.ttf} +0 -0
  152. /package/lib/{iconfont.1740104010641.woff → iconfont.1740550739957.woff} +0 -0
  153. /package/lib/{iconfont.1740104010641.woff2 → iconfont.1740550739957.woff2} +0 -0
@@ -10,7 +10,7 @@ export default {
10
10
  text: 'Loading...'
11
11
  },
12
12
  error: {
13
- downErr: '下载失败',
13
+ downErr: 'ダウンロードに失敗しました',
14
14
  errLargeData: '当绑定的数据量过大时,应该请使用 {0},否则可能会出现卡顿',
15
15
  groupFixed: 'ヘッダー結合を使用する場合、固定列はグループで設定しなければなりません',
16
16
  groupMouseRange: 'ヘッダー結合と「{0}」は同時に使用できません。これによりエラーが発生する可能性があります',
@@ -118,7 +118,8 @@ export default {
118
118
  },
119
119
  button: {
120
120
  confirm: 'OK',
121
- cancel: 'キャンセル'
121
+ cancel: 'キャンセル',
122
+ clear: 'パージ'
122
123
  },
123
124
  filter: {
124
125
  search: '検索'
@@ -118,7 +118,8 @@ export default {
118
118
  },
119
119
  button: {
120
120
  confirm: '확인',
121
- cancel: '취소'
121
+ cancel: '취소',
122
+ clear: '清除'
122
123
  },
123
124
  filter: {
124
125
  search: '검색'
@@ -118,7 +118,8 @@ export default {
118
118
  },
119
119
  button: {
120
120
  confirm: '确认',
121
- cancel: '取消'
121
+ cancel: '取消',
122
+ clear: '清除'
122
123
  },
123
124
  filter: {
124
125
  search: '搜索'
@@ -118,7 +118,8 @@ export default {
118
118
  },
119
119
  button: {
120
120
  confirm: 'Confirmar',
121
- cancel: 'Cancelar'
121
+ cancel: 'Cancelar',
122
+ clear: '清除'
122
123
  },
123
124
  filter: {
124
125
  search: 'Buscar'
@@ -118,7 +118,8 @@ export default {
118
118
  },
119
119
  button: {
120
120
  confirm: 'подтверждать',
121
- cancel: 'Отмена'
121
+ cancel: 'Отмена',
122
+ clear: '清除'
122
123
  },
123
124
  filter: {
124
125
  search: 'поиск'
@@ -118,7 +118,8 @@ export default {
118
118
  },
119
119
  button: {
120
120
  confirm: 'ยืนยัน',
121
- cancel: 'ยกเลิก'
121
+ cancel: 'ยกเลิก',
122
+ clear: '清除'
122
123
  },
123
124
  filter: {
124
125
  search: 'ค้นหา'
@@ -118,7 +118,8 @@ export default {
118
118
  },
119
119
  button: {
120
120
  confirm: 'جەزىملەش',
121
- cancel: 'ئەمەلدىن قالدۇرۇش'
121
+ cancel: 'ئەمەلدىن قالدۇرۇش',
122
+ clear: '清除'
122
123
  },
123
124
  filter: {
124
125
  search: 'ئىزدەش'
@@ -118,7 +118,8 @@ export default {
118
118
  },
119
119
  button: {
120
120
  confirm: 'Підтвердити',
121
- cancel: 'Скасувати'
121
+ cancel: 'Скасувати',
122
+ clear: '清除'
122
123
  },
123
124
  filter: {
124
125
  search: 'Пошук'
@@ -118,7 +118,8 @@ export default {
118
118
  },
119
119
  button: {
120
120
  confirm: '确认',
121
- cancel: '取消'
121
+ cancel: '取消',
122
+ clear: '清除'
122
123
  },
123
124
  filter: {
124
125
  search: '搜索'
@@ -118,7 +118,8 @@ export default {
118
118
  },
119
119
  button: {
120
120
  confirm: '確認',
121
- cancel: '取消'
121
+ cancel: '取消',
122
+ clear: '清除'
122
123
  },
123
124
  filter: {
124
125
  search: '搜尋'
@@ -118,7 +118,8 @@ export default {
118
118
  },
119
119
  button: {
120
120
  confirm: '确认',
121
- cancel: '取消'
121
+ cancel: '取消',
122
+ clear: '清除'
122
123
  },
123
124
  filter: {
124
125
  search: '搜索'
@@ -321,10 +321,13 @@ export default defineVxeComponent({
321
321
  renderHomePage (h: CreateElement) {
322
322
  const $xePager = this
323
323
  const props = $xePager
324
+ const slots = $xePager.$scopedSlots
324
325
 
326
+ const { currentPage } = props
327
+ const homePageSlot = slots.homePage || slots['home-page']
325
328
  return h('button', {
326
329
  class: ['vxe-pager--prev-btn', {
327
- 'is--disabled': props.currentPage <= 1
330
+ 'is--disabled': currentPage <= 1
328
331
  }],
329
332
  attrs: {
330
333
  type: 'button',
@@ -333,20 +336,25 @@ export default defineVxeComponent({
333
336
  on: {
334
337
  click: $xePager.handleHomePage
335
338
  }
336
- }, [
337
- h('i', {
338
- class: ['vxe-pager--btn-icon', props.iconHomePage || getIcon().PAGER_HOME]
339
- })
340
- ])
339
+ }, homePageSlot
340
+ ? homePageSlot({ currentPage })
341
+ : [
342
+ h('i', {
343
+ class: ['vxe-pager--btn-icon', props.iconHomePage || getIcon().PAGER_HOME]
344
+ })
345
+ ])
341
346
  },
342
347
  // 上一页
343
348
  renderPrevPage (h: CreateElement) {
344
349
  const $xePager = this
345
350
  const props = $xePager
351
+ const slots = $xePager.$scopedSlots
346
352
 
353
+ const { currentPage } = props
354
+ const prevPageSlot = slots.prevPage || slots['prev-page']
347
355
  return h('button', {
348
356
  class: ['vxe-pager--prev-btn', {
349
- 'is--disabled': props.currentPage <= 1
357
+ 'is--disabled': currentPage <= 1
350
358
  }],
351
359
  attrs: {
352
360
  type: 'button',
@@ -355,21 +363,26 @@ export default defineVxeComponent({
355
363
  on: {
356
364
  click: $xePager.handlePrevPage
357
365
  }
358
- }, [
359
- h('i', {
360
- class: ['vxe-pager--btn-icon', props.iconPrevPage || getIcon().PAGER_PREV_PAGE]
361
- })
362
- ])
366
+ }, prevPageSlot
367
+ ? prevPageSlot({ currentPage })
368
+ : [
369
+ h('i', {
370
+ class: ['vxe-pager--btn-icon', props.iconPrevPage || getIcon().PAGER_PREV_PAGE]
371
+ })
372
+ ])
363
373
  },
364
374
  // 向上翻页
365
375
  renderPrevJump (h: CreateElement, tagName?: string) {
366
376
  const $xePager = this
367
377
  const props = $xePager
378
+ const slots = $xePager.$scopedSlots
368
379
 
380
+ const { currentPage } = props
381
+ const jumpPrevSlot = slots.jumpPrev || slots['jump-prev']
369
382
  return h(tagName || 'button', {
370
383
  class: ['vxe-pager--jump-prev', {
371
384
  'is--fixed': !tagName,
372
- 'is--disabled': props.currentPage <= 1
385
+ 'is--disabled': currentPage <= 1
373
386
  }],
374
387
  attrs: {
375
388
  type: 'button',
@@ -378,22 +391,27 @@ export default defineVxeComponent({
378
391
  on: {
379
392
  click: $xePager.handlePrevJump
380
393
  }
381
- }, [
382
- tagName
383
- ? h('i', {
384
- class: ['vxe-pager--jump-more-icon', props.iconJumpMore || getIcon().PAGER_JUMP_MORE]
385
- })
386
- : null,
387
- h('i', {
388
- class: ['vxe-pager--jump-icon', props.iconJumpPrev || getIcon().PAGER_JUMP_PREV]
389
- })
390
- ])
394
+ }, jumpPrevSlot
395
+ ? jumpPrevSlot({ currentPage })
396
+ : [
397
+ tagName
398
+ ? h('i', {
399
+ class: ['vxe-pager--jump-more-icon', props.iconJumpMore || getIcon().PAGER_JUMP_MORE]
400
+ })
401
+ : null,
402
+ h('i', {
403
+ class: ['vxe-pager--jump-icon', props.iconJumpPrev || getIcon().PAGER_JUMP_PREV]
404
+ })
405
+ ])
391
406
  },
392
407
  // 向下翻页
393
408
  renderNextJump (h: CreateElement, tagName?: string) {
394
409
  const $xePager = this
395
410
  const props = $xePager
411
+ const slots = $xePager.$scopedSlots
396
412
 
413
+ const { currentPage } = props
414
+ const jumpNextSlot = slots.jumpNext || slots['jump-next']
397
415
  const pageCount = $xePager.computePageCount
398
416
  return h(tagName || 'button', {
399
417
  class: ['vxe-pager--jump-next', {
@@ -407,26 +425,31 @@ export default defineVxeComponent({
407
425
  on: {
408
426
  click: $xePager.handleNextJump
409
427
  }
410
- }, [
411
- tagName
412
- ? h('i', {
413
- class: ['vxe-pager--jump-more-icon', props.iconJumpMore || getIcon().PAGER_JUMP_MORE]
414
- })
415
- : null,
416
- h('i', {
417
- class: ['vxe-pager--jump-icon', props.iconJumpNext || getIcon().PAGER_JUMP_NEXT]
418
- })
419
- ])
428
+ }, jumpNextSlot
429
+ ? jumpNextSlot({ currentPage })
430
+ : [
431
+ tagName
432
+ ? h('i', {
433
+ class: ['vxe-pager--jump-more-icon', props.iconJumpMore || getIcon().PAGER_JUMP_MORE]
434
+ })
435
+ : null,
436
+ h('i', {
437
+ class: ['vxe-pager--jump-icon', props.iconJumpNext || getIcon().PAGER_JUMP_NEXT]
438
+ })
439
+ ])
420
440
  },
421
441
  // 下一页
422
442
  renderNextPage (h: CreateElement) {
423
443
  const $xePager = this
424
444
  const props = $xePager
445
+ const slots = $xePager.$scopedSlots
425
446
 
447
+ const { currentPage } = props
448
+ const nextPageSlot = slots.nextPage || slots['next-page']
426
449
  const pageCount = $xePager.computePageCount
427
450
  return h('button', {
428
451
  class: ['vxe-pager--next-btn', {
429
- 'is--disabled': props.currentPage >= pageCount
452
+ 'is--disabled': currentPage >= pageCount
430
453
  }],
431
454
  attrs: {
432
455
  type: 'button',
@@ -435,21 +458,26 @@ export default defineVxeComponent({
435
458
  on: {
436
459
  click: $xePager.handleNextPage
437
460
  }
438
- }, [
439
- h('i', {
440
- class: ['vxe-pager--btn-icon', props.iconNextPage || getIcon().PAGER_NEXT_PAGE]
441
- })
442
- ])
461
+ }, nextPageSlot
462
+ ? nextPageSlot({ currentPage })
463
+ : [
464
+ h('i', {
465
+ class: ['vxe-pager--btn-icon', props.iconNextPage || getIcon().PAGER_NEXT_PAGE]
466
+ })
467
+ ])
443
468
  },
444
469
  // 最后一页
445
470
  renderEndPage (h: CreateElement) {
446
471
  const $xePager = this
447
472
  const props = $xePager
473
+ const slots = $xePager.$scopedSlots
448
474
 
475
+ const { currentPage } = props
476
+ const endPageSlot = slots.endPage || slots['end-page']
449
477
  const pageCount = $xePager.computePageCount
450
478
  return h('button', {
451
479
  class: ['vxe-pager--prev-btn', {
452
- 'is--disabled': props.currentPage >= pageCount
480
+ 'is--disabled': currentPage >= pageCount
453
481
  }],
454
482
  attrs: {
455
483
  type: 'button',
@@ -458,18 +486,22 @@ export default defineVxeComponent({
458
486
  on: {
459
487
  click: $xePager.handleEndPage
460
488
  }
461
- }, [
462
- h('i', {
463
- class: ['vxe-pager--btn-icon', props.iconEndPage || getIcon().PAGER_END]
464
- })
465
- ])
489
+ }, endPageSlot
490
+ ? endPageSlot({ currentPage })
491
+ : [
492
+ h('i', {
493
+ class: ['vxe-pager--btn-icon', props.iconEndPage || getIcon().PAGER_END]
494
+ })
495
+ ])
466
496
  },
467
497
  // 页数
468
498
  renderNumber (h: CreateElement, showJump?: boolean) {
469
499
  const $xePager = this
470
500
  const props = $xePager
501
+ const slots = $xePager.$scopedSlots
471
502
 
472
503
  const { currentPage, pagerCount } = props
504
+ const numberSlot = showJump ? (slots.jumpNumber || slots['jump-number']) : slots.number
473
505
  const nums = []
474
506
  const pageCount = $xePager.computePageCount
475
507
  const numList = $xePager.computeNumList
@@ -478,6 +510,7 @@ export default defineVxeComponent({
478
510
  const isLt = isOv && currentPage > offsetNumber + 1
479
511
  const isGt = isOv && currentPage < pageCount - offsetNumber
480
512
  let startNumber = 1
513
+
481
514
  if (isOv) {
482
515
  if (currentPage >= pageCount - offsetNumber) {
483
516
  startNumber = Math.max(pageCount - numList.length + 1, 1)
@@ -485,6 +518,13 @@ export default defineVxeComponent({
485
518
  startNumber = Math.max(currentPage - offsetNumber, 1)
486
519
  }
487
520
  }
521
+
522
+ if (numberSlot) {
523
+ return h('span', {
524
+ class: 'vxe-pager--btn-wrapper'
525
+ }, numberSlot({ numList, currentPage, pageCount }))
526
+ }
527
+
488
528
  if (showJump && isLt) {
489
529
  nums.push(
490
530
  h('button', {
@@ -546,14 +586,22 @@ export default defineVxeComponent({
546
586
  renderSizes (h: CreateElement) {
547
587
  const $xePager = this
548
588
  const props = $xePager
589
+ const slots = $xePager.$scopedSlots
549
590
 
591
+ const { pageSize, pageSizePlacement, transfer } = props
592
+ const sizesSlot = slots.sizes
550
593
  const sizeList = $xePager.computeSizeList
594
+ if (sizesSlot) {
595
+ return h('span', {
596
+ class: 'vxe-pager--sizes'
597
+ }, sizesSlot({ pageSize, options: sizeList }))
598
+ }
551
599
  return h(VxeSelectComponent, {
552
600
  class: 'vxe-pager--sizes',
553
601
  props: {
554
- value: props.pageSize,
555
- placement: props.pageSizePlacement,
556
- transfer: props.transfer,
602
+ value: pageSize,
603
+ placement: pageSizePlacement,
604
+ transfer: transfer,
557
605
  options: sizeList
558
606
  },
559
607
  on: {
@@ -565,41 +613,46 @@ export default defineVxeComponent({
565
613
  renderJump (h: CreateElement, isFull?: boolean) {
566
614
  const $xePager = this
567
615
  const reactData = $xePager.reactData
616
+ const slots = $xePager.$scopedSlots
568
617
 
618
+ const { inpCurrPage } = reactData
619
+ const jumpSlot = isFull ? (slots.fullJump || slots['full-jump']) : slots.jump
569
620
  const pageCount = $xePager.computePageCount
570
621
  return h('span', {
571
622
  class: 'vxe-pager--jump'
572
- }, [
573
- isFull
574
- ? h('span', {
575
- class: 'vxe-pager--goto-text'
576
- }, getI18n('vxe.pager.goto'))
577
- : null,
578
- h(VxeInputComponent, {
579
- class: 'vxe-pager--goto',
580
- props: {
581
- value: reactData.inpCurrPage,
582
- placeholder: getI18n('vxe.pager.gotoTitle'),
583
- align: 'center',
584
- type: 'integer',
585
- max: pageCount,
586
- min: 1,
587
- controls: false
588
- },
589
- on: {
590
- keydown: $xePager.jumpKeydownEvent,
591
- blur: $xePager.triggerJumpEvent,
592
- 'modelValue' (val: string) {
593
- reactData.inpCurrPage = val
594
- }
595
- }
596
- }),
597
- isFull
598
- ? h('span', {
599
- class: 'vxe-pager--classifier-text'
600
- }, getI18n('vxe.pager.pageClassifier'))
601
- : null
602
- ])
623
+ }, jumpSlot
624
+ ? jumpSlot({ currentPage: inpCurrPage, pageCount })
625
+ : [
626
+ isFull
627
+ ? h('span', {
628
+ class: 'vxe-pager--goto-text'
629
+ }, getI18n('vxe.pager.goto'))
630
+ : null,
631
+ h(VxeInputComponent, {
632
+ class: 'vxe-pager--goto',
633
+ props: {
634
+ value: inpCurrPage,
635
+ placeholder: getI18n('vxe.pager.gotoTitle'),
636
+ align: 'center',
637
+ type: 'integer',
638
+ max: pageCount,
639
+ min: 1,
640
+ controls: false
641
+ },
642
+ on: {
643
+ keydown: $xePager.jumpKeydownEvent,
644
+ blur: $xePager.triggerJumpEvent,
645
+ 'modelValue' (val: string) {
646
+ reactData.inpCurrPage = val
647
+ }
648
+ }
649
+ }),
650
+ isFull
651
+ ? h('span', {
652
+ class: 'vxe-pager--classifier-text'
653
+ }, getI18n('vxe.pager.pageClassifier'))
654
+ : null
655
+ ])
603
656
  },
604
657
  // FullJump
605
658
  renderFullJump (h: CreateElement) {
@@ -610,25 +663,34 @@ export default defineVxeComponent({
610
663
  // PageCount
611
664
  renderPageCount (h: CreateElement) {
612
665
  const $xePager = this
666
+ const props = $xePager
667
+ const slots = $xePager.$scopedSlots
613
668
 
669
+ const { currentPage } = props
670
+ const pageCountSlot = slots.pageCount || slots['page-count']
614
671
  const pageCount = $xePager.computePageCount
615
672
  return h('span', {
616
673
  class: 'vxe-pager--count'
617
- }, [
618
- h('span', {
619
- class: 'vxe-pager--separator'
620
- }),
621
- h('span', pageCount)
622
- ])
674
+ }, pageCountSlot
675
+ ? pageCountSlot({ currentPage, pageCount })
676
+ : [
677
+ h('span', {
678
+ class: 'vxe-pager--separator'
679
+ }),
680
+ h('span', pageCount)
681
+ ])
623
682
  },
624
683
  // total
625
684
  renderTotal (h: CreateElement) {
626
685
  const $xePager = this
627
686
  const props = $xePager
687
+ const slots = $xePager.$scopedSlots
628
688
 
689
+ const { total, currentPage } = props
690
+ const totalSlot = slots.total
629
691
  return h('span', {
630
692
  class: 'vxe-pager--total'
631
- }, getI18n('vxe.pager.total', [props.total]))
693
+ }, totalSlot ? totalSlot({ total, currentPage }) : getI18n('vxe.pager.total', [total]))
632
694
  },
633
695
  renderVN (h: CreateElement): VNode {
634
696
  const $xePager = this
@@ -105,13 +105,14 @@ export default defineVxeComponent({
105
105
  const props = $xeCol
106
106
  const slots = $xeCol.$scopedSlots
107
107
 
108
- const { span, fill, align, ellipsis } = props
108
+ const { span, fill, align, width, ellipsis } = props
109
109
  const colStyle = $xeCol.computeColStyle
110
110
  const defaultSlot = slots.default
111
111
  return h('div', {
112
112
  ref: 'refElem',
113
113
  class: ['vxe-col', span ? `span${span}` : '', align ? `align--${align}` : '', {
114
- 'is--span': span,
114
+ 'is--span': !!span,
115
+ 'is--width': !!width,
115
116
  'is--fill': fill,
116
117
  'is--ellipsis': ellipsis
117
118
  }],
@@ -221,6 +221,7 @@ setConfig({
221
221
  left: 32
222
222
  }
223
223
  },
224
+ // remember: false,
224
225
  // storage: false,
225
226
  storageKey: 'VXE_MODAL_POSITION'
226
227
  },
@@ -32,8 +32,30 @@ $colSpanList: 4.16667%, 8.33333%, 12.5%, 16.66667%, 20.83333%, 25%, 29.16667%, 3
32
32
  }
33
33
  }
34
34
  }
35
+
35
36
  .vxe-col--inner {
36
37
  display: flex;
37
38
  flex-direction: column;
38
39
  width: 100%;
39
- }
40
+ }
41
+
42
+ .vxe-col {
43
+ &.is--span,
44
+ &.is--width {
45
+ & > .vxe-col--inner {
46
+ & > .vxe-default-textarea,
47
+ & > .vxe-default-select,
48
+ & > .vxe-input,
49
+ & > .vxe-number-input,
50
+ & > .vxe-password-input,
51
+ & > .vxe-date-picker,
52
+ & > .vxe-textarea,
53
+ & > .vxe-select,
54
+ & > .vxe-tree-select,
55
+ & > .vxe-table-select,
56
+ & > .vxe-ico-picker {
57
+ width: 100%;
58
+ }
59
+ }
60
+ }
61
+ }
@@ -164,7 +164,7 @@
164
164
  }
165
165
 
166
166
  .vxe-date-picker--panel-layout-wrapper {
167
- display: flex;
167
+ display: inline-flex;
168
168
  flex-direction: column;
169
169
  pointer-events: auto;
170
170
  background-color: var(--vxe-ui-layout-background-color);
@@ -481,6 +481,9 @@
481
481
  color: var(--vxe-ui-input-disabled-color);
482
482
  }
483
483
  }
484
+ &.is--over {
485
+ cursor: no-drop;
486
+ }
484
487
  }
485
488
  }
486
489
 
@@ -30,6 +30,7 @@ export namespace VxeDatePickerPropTypes {
30
30
  export type Placeholder = string
31
31
  export type MaxLength = string | number
32
32
  export type Multiple = boolean
33
+ export type LimitCount = string | number
33
34
  export type ShowWordCount = boolean
34
35
  export type CountMethod = (params: {
35
36
  value: string
@@ -97,6 +98,7 @@ export interface VxeDatePickerProps {
97
98
  placeholder?: VxeDatePickerPropTypes.Placeholder
98
99
  maxLength?: VxeDatePickerPropTypes.MaxLength
99
100
  multiple?: VxeDatePickerPropTypes.Multiple
101
+ limitCount?: VxeDatePickerPropTypes.LimitCount
100
102
  /**
101
103
  * 是否显示字数统计
102
104
  */