vxe-pc-ui 4.14.19 → 4.14.21

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 (142) hide show
  1. package/es/language/ar-EG.js +2 -2
  2. package/es/language/de-DE.js +2 -2
  3. package/es/language/en-US.js +2 -2
  4. package/es/language/es-ES.js +2 -2
  5. package/es/language/fr-FR.js +2 -2
  6. package/es/language/hu-HU.js +2 -2
  7. package/es/language/hy-AM.js +2 -2
  8. package/es/language/id-ID.js +2 -2
  9. package/es/language/it-IT.js +2 -2
  10. package/es/language/ja-JP.js +2 -2
  11. package/es/language/ko-KR.js +2 -2
  12. package/es/language/ms-MY.js +2 -2
  13. package/es/language/nb-NO.js +2 -2
  14. package/es/language/pt-BR.js +2 -2
  15. package/es/language/ru-RU.js +2 -2
  16. package/es/language/th-TH.js +2 -2
  17. package/es/language/ug-CN.js +2 -2
  18. package/es/language/uk-UA.js +2 -2
  19. package/es/language/uz-UZ.js +2 -2
  20. package/es/language/vi-VN.js +2 -2
  21. package/es/language/zh-CHT.js +2 -2
  22. package/es/language/zh-CN.js +2 -2
  23. package/es/tree/src/tree.js +24 -19
  24. package/es/tree-select/src/tree-select.js +66 -19
  25. package/es/ui/index.js +2 -1
  26. package/es/ui/src/log.js +1 -1
  27. package/lib/index.umd.js +107 -49
  28. package/lib/index.umd.min.js +1 -1
  29. package/lib/language/ar-EG.js +2 -2
  30. package/lib/language/ar-EG.min.js +1 -1
  31. package/lib/language/ar-EG.umd.js +2 -2
  32. package/lib/language/de-DE.js +2 -2
  33. package/lib/language/de-DE.min.js +1 -1
  34. package/lib/language/de-DE.umd.js +2 -2
  35. package/lib/language/en-US.js +2 -2
  36. package/lib/language/en-US.min.js +1 -1
  37. package/lib/language/en-US.umd.js +2 -2
  38. package/lib/language/es-ES.js +2 -2
  39. package/lib/language/es-ES.min.js +1 -1
  40. package/lib/language/es-ES.umd.js +2 -2
  41. package/lib/language/fr-FR.js +2 -2
  42. package/lib/language/fr-FR.min.js +1 -1
  43. package/lib/language/fr-FR.umd.js +2 -2
  44. package/lib/language/hu-HU.js +2 -2
  45. package/lib/language/hu-HU.min.js +1 -1
  46. package/lib/language/hu-HU.umd.js +2 -2
  47. package/lib/language/hy-AM.js +2 -2
  48. package/lib/language/hy-AM.min.js +1 -1
  49. package/lib/language/hy-AM.umd.js +2 -2
  50. package/lib/language/id-ID.js +2 -2
  51. package/lib/language/id-ID.min.js +1 -1
  52. package/lib/language/id-ID.umd.js +2 -2
  53. package/lib/language/it-IT.js +2 -2
  54. package/lib/language/it-IT.min.js +1 -1
  55. package/lib/language/it-IT.umd.js +2 -2
  56. package/lib/language/ja-JP.js +2 -2
  57. package/lib/language/ja-JP.min.js +1 -1
  58. package/lib/language/ja-JP.umd.js +2 -2
  59. package/lib/language/ko-KR.js +2 -2
  60. package/lib/language/ko-KR.min.js +1 -1
  61. package/lib/language/ko-KR.umd.js +2 -2
  62. package/lib/language/ms-MY.js +2 -2
  63. package/lib/language/ms-MY.min.js +1 -1
  64. package/lib/language/ms-MY.umd.js +2 -2
  65. package/lib/language/nb-NO.js +2 -2
  66. package/lib/language/nb-NO.min.js +1 -1
  67. package/lib/language/nb-NO.umd.js +2 -2
  68. package/lib/language/pt-BR.js +2 -2
  69. package/lib/language/pt-BR.min.js +1 -1
  70. package/lib/language/pt-BR.umd.js +2 -2
  71. package/lib/language/ru-RU.js +2 -2
  72. package/lib/language/ru-RU.min.js +1 -1
  73. package/lib/language/ru-RU.umd.js +2 -2
  74. package/lib/language/th-TH.js +2 -2
  75. package/lib/language/th-TH.min.js +1 -1
  76. package/lib/language/th-TH.umd.js +2 -2
  77. package/lib/language/ug-CN.js +2 -2
  78. package/lib/language/ug-CN.min.js +1 -1
  79. package/lib/language/ug-CN.umd.js +2 -2
  80. package/lib/language/uk-UA.js +2 -2
  81. package/lib/language/uk-UA.min.js +1 -1
  82. package/lib/language/uk-UA.umd.js +2 -2
  83. package/lib/language/uz-UZ.js +2 -2
  84. package/lib/language/uz-UZ.min.js +1 -1
  85. package/lib/language/uz-UZ.umd.js +2 -2
  86. package/lib/language/vi-VN.js +2 -2
  87. package/lib/language/vi-VN.min.js +1 -1
  88. package/lib/language/vi-VN.umd.js +2 -2
  89. package/lib/language/zh-CHT.js +2 -2
  90. package/lib/language/zh-CHT.min.js +1 -1
  91. package/lib/language/zh-CHT.umd.js +2 -2
  92. package/lib/language/zh-CN.js +2 -2
  93. package/lib/language/zh-CN.min.js +1 -1
  94. package/lib/language/zh-CN.umd.js +2 -2
  95. package/lib/tree/src/tree.js +33 -24
  96. package/lib/tree/src/tree.min.js +1 -1
  97. package/lib/tree-select/src/tree-select.js +69 -20
  98. package/lib/tree-select/src/tree-select.min.js +1 -1
  99. package/lib/ui/index.js +2 -1
  100. package/lib/ui/index.min.js +1 -1
  101. package/lib/ui/src/log.js +1 -1
  102. package/lib/ui/src/log.min.js +1 -1
  103. package/package.json +1 -1
  104. package/packages/language/ar-EG.ts +2 -2
  105. package/packages/language/de-DE.ts +2 -2
  106. package/packages/language/en-US.ts +2 -2
  107. package/packages/language/es-ES.ts +2 -2
  108. package/packages/language/fr-FR.ts +2 -2
  109. package/packages/language/hu-HU.ts +2 -2
  110. package/packages/language/hy-AM.ts +2 -2
  111. package/packages/language/id-ID.ts +2 -2
  112. package/packages/language/it-IT.ts +2 -2
  113. package/packages/language/ja-JP.ts +2 -2
  114. package/packages/language/ko-KR.ts +2 -2
  115. package/packages/language/ms-MY.ts +2 -2
  116. package/packages/language/nb-NO.ts +2 -2
  117. package/packages/language/pt-BR.ts +2 -2
  118. package/packages/language/ru-RU.ts +2 -2
  119. package/packages/language/th-TH.ts +2 -2
  120. package/packages/language/ug-CN.ts +2 -2
  121. package/packages/language/uk-UA.ts +2 -2
  122. package/packages/language/uz-UZ.ts +2 -2
  123. package/packages/language/vi-VN.ts +2 -2
  124. package/packages/language/zh-CHT.ts +2 -2
  125. package/packages/language/zh-CN.ts +2 -2
  126. package/packages/tree/src/tree.ts +25 -19
  127. package/packages/tree-select/src/tree-select.ts +71 -27
  128. package/packages/ui/index.ts +1 -0
  129. package/types/components/tree-select.d.ts +18 -7
  130. package/types/components/tree.d.ts +4 -0
  131. /package/es/icon/{iconfont.1779445589457.ttf → iconfont.1779687105351.ttf} +0 -0
  132. /package/es/icon/{iconfont.1779445589457.woff → iconfont.1779687105351.woff} +0 -0
  133. /package/es/icon/{iconfont.1779445589457.woff2 → iconfont.1779687105351.woff2} +0 -0
  134. /package/es/{iconfont.1779445589457.ttf → iconfont.1779687105351.ttf} +0 -0
  135. /package/es/{iconfont.1779445589457.woff → iconfont.1779687105351.woff} +0 -0
  136. /package/es/{iconfont.1779445589457.woff2 → iconfont.1779687105351.woff2} +0 -0
  137. /package/lib/icon/style/{iconfont.1779445589457.ttf → iconfont.1779687105351.ttf} +0 -0
  138. /package/lib/icon/style/{iconfont.1779445589457.woff → iconfont.1779687105351.woff} +0 -0
  139. /package/lib/icon/style/{iconfont.1779445589457.woff2 → iconfont.1779687105351.woff2} +0 -0
  140. /package/lib/{iconfont.1779445589457.ttf → iconfont.1779687105351.ttf} +0 -0
  141. /package/lib/{iconfont.1779445589457.woff → iconfont.1779687105351.woff} +0 -0
  142. /package/lib/{iconfont.1779445589457.woff2 → iconfont.1779687105351.woff2} +0 -0
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: 'Déplacer: {0}',
167
167
  setting: {
168
168
  colSort: 'Trier',
169
- sortHelpTip: '点击并拖动图标可以调整顺序',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: 'Titre de la colonne',
171
171
  colResizable: 'Largeur de colonne (pixels)',
172
172
  colVisible: "S'il faut afficher",
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: '拖至此处进行分组',
653
653
  valuesPlaceholder: '拖至此处进行聚合',
654
654
  dragExistCol: '该列已存在',
655
- sortHelpTip: '点击并拖动图标可以调整顺序'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: '求和',
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: 'Mozgás: {0}',
167
167
  setting: {
168
168
  colSort: 'Fajta',
169
- sortHelpTip: '点击并拖动图标可以调整顺序',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: 'Oszlopcím',
171
171
  colResizable: 'Oszlop szélessége (pixelek)',
172
172
  colVisible: 'Függetlenül attól, hogy megjelenjen',
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: '拖至此处进行分组',
653
653
  valuesPlaceholder: '拖至此处进行聚合',
654
654
  dragExistCol: '该列已存在',
655
- sortHelpTip: '点击并拖动图标可以调整顺序'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: '求和',
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: '移动:{0}',
167
167
  setting: {
168
168
  colSort: '排序',
169
- sortHelpTip: '点击并拖动图标可以调整顺序',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: '列标题',
171
171
  colResizable: '列宽(像素)',
172
172
  colVisible: '是否显示',
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: '拖至此处进行分组',
653
653
  valuesPlaceholder: '拖至此处进行聚合',
654
654
  dragExistCol: '该列已存在',
655
- sortHelpTip: '点击并拖动图标可以调整顺序'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: '求和',
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: 'Pindahkan: {0}',
167
167
  setting: {
168
168
  colSort: 'Menyortir',
169
- sortHelpTip: '点击并拖动图标可以调整顺序',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: 'Judul kolom',
171
171
  colResizable: 'Lebar kolom (piksel)',
172
172
  colVisible: 'Apakah akan menampilkan',
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: '拖至此处进行分组',
653
653
  valuesPlaceholder: '拖至此处进行聚合',
654
654
  dragExistCol: '该列已存在',
655
- sortHelpTip: '点击并拖动图标可以调整顺序'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: '求和',
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: 'Muovi: {0}',
167
167
  setting: {
168
168
  colSort: 'Ordinare',
169
- sortHelpTip: '点击并拖动图标可以调整顺序',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: 'Titolo della colonna',
171
171
  colResizable: 'Larghezza della colonna (pixel)',
172
172
  colVisible: 'Se visualizzare',
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: '拖至此处进行分组',
653
653
  valuesPlaceholder: '拖至此处进行聚合',
654
654
  dragExistCol: '该列已存在',
655
- sortHelpTip: '点击并拖动图标可以调整顺序'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: '求和',
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: '移動:{0}',
167
167
  setting: {
168
168
  colSort: '選別',
169
- sortHelpTip: 'アイコンをクリックしてドラッグして、注文を調整します',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: '列のタイトル',
171
171
  colResizable: '列幅(ピクセル)',
172
172
  colVisible: '表示するかどうか',
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: 'ここでグループにドラッグします',
653
653
  valuesPlaceholder: 'ここにドラッグして集約します',
654
654
  dragExistCol: 'このコラムはすでに存在しています',
655
- sortHelpTip: 'アイコンをクリックしてドラッグして、注文を調整します'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: '合計を尋ねます',
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: '움직임 : {0}',
167
167
  setting: {
168
168
  colSort: '종류',
169
- sortHelpTip: '아이콘을 클릭하고 드래그하여 순서를 조정하십시오',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: '열 제목',
171
171
  colResizable: '열 폭 (픽셀)',
172
172
  colVisible: '표시 여부',
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: '여기로 끌어 그룹화하십시오',
653
653
  valuesPlaceholder: '집계를 위해 여기를 끌어냅니다',
654
654
  dragExistCol: '이 열은 이미 존재합니다',
655
- sortHelpTip: '아이콘을 클릭하고 드래그하여 순서를 조정하십시오'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: '합계를 요청하십시오',
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: 'Bergerak: {0}',
167
167
  setting: {
168
168
  colSort: 'Menyusun',
169
- sortHelpTip: '点击并拖动图标可以调整顺序',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: 'Tajuk lajur',
171
171
  colResizable: 'Lebar lajur (piksel)',
172
172
  colVisible: 'Sama ada untuk memaparkan',
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: '拖至此处进行分组',
653
653
  valuesPlaceholder: '拖至此处进行聚合',
654
654
  dragExistCol: '该列已存在',
655
- sortHelpTip: '点击并拖动图标可以调整顺序'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: '求和',
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: 'Flytt: {0}',
167
167
  setting: {
168
168
  colSort: 'Sortere',
169
- sortHelpTip: '点击并拖动图标可以调整顺序',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: 'Kolonnetittel',
171
171
  colResizable: 'Kolonnebredde (piksler)',
172
172
  colVisible: 'Om du skal vise',
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: '拖至此处进行分组',
653
653
  valuesPlaceholder: '拖至此处进行聚合',
654
654
  dragExistCol: '该列已存在',
655
- sortHelpTip: '点击并拖动图标可以调整顺序'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: '求和',
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: 'Move: {0}',
167
167
  setting: {
168
168
  colSort: 'Organizar',
169
- sortHelpTip: '点击并拖动图标可以调整顺序',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: 'Título da coluna',
171
171
  colResizable: 'Largura da coluna (pixels)',
172
172
  colVisible: 'Se deve exibir',
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: '拖至此处进行分组',
653
653
  valuesPlaceholder: '拖至此处进行聚合',
654
654
  dragExistCol: '该列已存在',
655
- sortHelpTip: '点击并拖动图标可以调整顺序'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: '求和',
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: 'MOVE: {0}',
167
167
  setting: {
168
168
  colSort: 'Сортировка',
169
- sortHelpTip: 'Нажмите и перетащите значок, чтобы настроить заказ',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: 'Заголовок столбца',
171
171
  colResizable: 'Ширина столбца (пиксели)',
172
172
  colVisible: 'Отображать ли',
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: 'Перетащите сюда, чтобы группировать',
653
653
  valuesPlaceholder: 'Перетащите сюда, чтобы агрегировать',
654
654
  dragExistCol: 'Эта колонка уже существует',
655
- sortHelpTip: 'Нажмите и перетащите значок, чтобы настроить заказ'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: 'Попросить сумму',
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: 'ย้าย: {0}',
167
167
  setting: {
168
168
  colSort: 'เรียงลำดับ',
169
- sortHelpTip: '点击并拖动图标可以调整顺序',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: 'ชื่อคอลัมน์',
171
171
  colResizable: 'ความกว้างของคอลัมน์ (พิกเซล)',
172
172
  colVisible: 'ไม่ว่าจะแสดง',
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: '拖至此处进行分组',
653
653
  valuesPlaceholder: '拖至此处进行聚合',
654
654
  dragExistCol: '该列已存在',
655
- sortHelpTip: '点击并拖动图标可以调整顺序'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: '求和',
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: 'يۆتكەش:{0}',
167
167
  setting: {
168
168
  colSort: 'تەرتىپلەش',
169
- sortHelpTip: '点击并拖动图标可以调整顺序',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: '列标题',
171
171
  colResizable: 'قۇر كەڭلىڭى(پېكسىل)',
172
172
  colVisible: 'كۆرۈنەمدۇ-كۆرۈنمەمدۇ',
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: '拖至此处进行分组',
653
653
  valuesPlaceholder: '拖至此处进行聚合',
654
654
  dragExistCol: '该列已存在',
655
- sortHelpTip: '点击并拖动图标可以调整顺序'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: '求和',
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: 'Перемістити: {0}',
167
167
  setting: {
168
168
  colSort: 'Сортувати',
169
- sortHelpTip: '点击并拖动图标可以调整顺序',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: 'Заголовок стовпців',
171
171
  colResizable: 'Ширина стовпця (пікселі)',
172
172
  colVisible: 'Чи відображати',
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: '拖至此处进行分组',
653
653
  valuesPlaceholder: '拖至此处进行聚合',
654
654
  dragExistCol: '该列已存在',
655
- sortHelpTip: '点击并拖动图标可以调整顺序'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: '求和',
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: "Ko'chiring: {0}",
167
167
  setting: {
168
168
  colSort: 'Tartib',
169
- sortHelpTip: '点击并拖动图标可以调整顺序',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: 'Ustun unvon',
171
171
  colResizable: 'Ustun kengligi (piksellar)',
172
172
  colVisible: "Ko'rsatish kerakmi",
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: '拖至此处进行分组',
653
653
  valuesPlaceholder: '拖至此处进行聚合',
654
654
  dragExistCol: '该列已存在',
655
- sortHelpTip: '点击并拖动图标可以调整顺序'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: '求和',
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: 'Di chuyển: {0}',
167
167
  setting: {
168
168
  colSort: 'Loại',
169
- sortHelpTip: 'Nhấp và kéo biểu tượng để điều chỉnh thứ tự',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: 'Tiêu đề cột',
171
171
  colResizable: 'Chiều rộng cột (pixel)',
172
172
  colVisible: 'Có hiển thị không',
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: 'Kéo ở đây để nhóm',
653
653
  valuesPlaceholder: 'Kéo ở đây để tổng hợp',
654
654
  dragExistCol: 'Cột này đã tồn tại',
655
- sortHelpTip: 'Nhấp và kéo biểu tượng để điều chỉnh thứ tự'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: 'Yêu cầu tổng',
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: '移動:{0}',
167
167
  setting: {
168
168
  colSort: '排序',
169
- sortHelpTip: '點擊並拖動圖標可以調整順序',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: '列標題',
171
171
  colResizable: '列寬(像素)',
172
172
  colVisible: '是否顯示',
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: '拖至此處進行分組',
653
653
  valuesPlaceholder: '拖至此處進行聚合',
654
654
  dragExistCol: '該列已存在',
655
- sortHelpTip: '點擊並拖動圖標可以調整順序'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: '求和',
@@ -166,7 +166,7 @@ export default {
166
166
  cstmDragTarget: '移动:{0}',
167
167
  setting: {
168
168
  colSort: '排序',
169
- sortHelpTip: '点击并拖动图标可以调整顺序',
169
+ sortHelpTip: '点击图标开始拖动',
170
170
  colTitle: '列标题',
171
171
  colResizable: '列宽(像素)',
172
172
  colVisible: '是否显示',
@@ -652,7 +652,7 @@ export default {
652
652
  groupPlaceholder: '拖至此处进行分组',
653
653
  valuesPlaceholder: '拖至此处进行聚合',
654
654
  dragExistCol: '该列已存在',
655
- sortHelpTip: '点击并拖动图标可以调整顺序'
655
+ sortHelpTip: '点击图标开始拖动'
656
656
  },
657
657
  aggFuncs: {
658
658
  sum: '求和',
@@ -2377,16 +2377,25 @@ export default defineVxeComponent({
2377
2377
  return renderEmptyElement($xeTree)
2378
2378
  }
2379
2379
 
2380
- const renderRadio = (node: any, nodeid: string, isChecked: boolean) => {
2380
+ const handleVisibleOrCheckMode = (mode: '' | 'all' | 'first' | 'last' | null | undefined, isExistChild: boolean, nLevel: number) => {
2381
+ if (mode) {
2382
+ if (mode === 'first') {
2383
+ return !nLevel
2384
+ }
2385
+ if (mode === 'last') {
2386
+ return !isExistChild
2387
+ }
2388
+ }
2389
+ return true
2390
+ }
2391
+
2392
+ const renderRadio = (node: any, nodeid: string, isExistChild: boolean, nLevel: number, isChecked: boolean) => {
2381
2393
  const { showRadio } = props
2382
2394
  const radioOpts = computeRadioOpts.value
2383
- const { showIcon, checkMethod, visibleMethod } = radioOpts
2384
- const isVisible = !visibleMethod || visibleMethod({ $tree: $xeTree, node })
2385
- let isDisabled = !!checkMethod
2395
+ const { showIcon, checkMode, checkMethod, visibleMode, visibleMethod } = radioOpts
2396
+ const isVisible = visibleMethod ? visibleMethod({ $tree: $xeTree, node }) : handleVisibleOrCheckMode(visibleMode, isExistChild, nLevel)
2386
2397
  if (showRadio && showIcon && isVisible) {
2387
- if (checkMethod) {
2388
- isDisabled = !checkMethod({ $tree: $xeTree, node })
2389
- }
2398
+ const isDisabled = checkMethod ? !checkMethod({ $tree: $xeTree, node }) : !handleVisibleOrCheckMode(checkMode, isExistChild, nLevel)
2390
2399
  return h('div', {
2391
2400
  class: ['vxe-tree--radio-option', {
2392
2401
  'is--checked': isChecked,
@@ -2406,16 +2415,13 @@ export default defineVxeComponent({
2406
2415
  return renderEmptyElement($xeTree)
2407
2416
  }
2408
2417
 
2409
- const renderCheckbox = (node: any, nodeid: string, isChecked: boolean, isIndeterminate: boolean) => {
2418
+ const renderCheckbox = (node: any, nodeid: string, isExistChild: boolean, nLevel: number, isChecked: boolean, isIndeterminate: boolean) => {
2410
2419
  const { showCheckbox } = props
2411
2420
  const checkboxOpts = computeCheckboxOpts.value
2412
- const { showIcon, checkMethod, visibleMethod } = checkboxOpts
2413
- const isVisible = !visibleMethod || visibleMethod({ $tree: $xeTree, node })
2414
- let isDisabled = !!checkMethod
2421
+ const { showIcon, checkMode, checkMethod, visibleMode, visibleMethod } = checkboxOpts
2422
+ const isVisible = visibleMethod ? visibleMethod({ $tree: $xeTree, node }) : handleVisibleOrCheckMode(visibleMode, isExistChild, nLevel)
2415
2423
  if (showCheckbox && showIcon && isVisible) {
2416
- if (checkMethod) {
2417
- isDisabled = !checkMethod({ $tree: $xeTree, node })
2418
- }
2424
+ const isDisabled = checkMethod ? !checkMethod({ $tree: $xeTree, node }) : !handleVisibleOrCheckMode(checkMode, isExistChild, nLevel)
2419
2425
  return h('div', {
2420
2426
  class: ['vxe-tree--checkbox-option', {
2421
2427
  'is--checked': isChecked,
@@ -2444,12 +2450,12 @@ export default defineVxeComponent({
2444
2450
  const titleField = computeTitleField.value
2445
2451
  const hasChildField = computeHasChildField.value
2446
2452
  const childList: any[] = XEUtils.get(node, childrenField)
2447
- const hasChild = childList && childList.length
2453
+ const isExistChild = childList && childList.length > 0
2448
2454
  const iconSlot = slots.icon
2449
2455
  const titleSlot = slots.title
2450
2456
  const extraSlot = slots.extra
2451
2457
  const isExpand = updateExpandedFlag && treeExpandedMaps[nodeid]
2452
- const nodeItem = nodeMaps[nodeid]
2458
+ const nodeItem = nodeMaps[nodeid] || {}
2453
2459
  const nodeValue = XEUtils.get(node, titleField)
2454
2460
  const nLevel = nodeItem.level
2455
2461
 
@@ -2534,7 +2540,7 @@ export default defineVxeComponent({
2534
2540
  : renderEmptyElement($xeTree),
2535
2541
  h('div', {
2536
2542
  class: 'vxe-tree--node-item-switcher'
2537
- }, showIcon && (lazy ? (isLazyLoaded ? hasChild : hasLazyChilds) : hasChild)
2543
+ }, showIcon && (lazy ? (isLazyLoaded ? isExistChild : hasLazyChilds) : isExistChild)
2538
2544
  ? [
2539
2545
  h('div', {
2540
2546
  class: 'vxe-tree--node-item-icon',
@@ -2551,8 +2557,8 @@ export default defineVxeComponent({
2551
2557
  ]
2552
2558
  : []),
2553
2559
  renderDragIcon(node, nodeid),
2554
- renderRadio(node, nodeid, isRadioChecked),
2555
- renderCheckbox(node, nodeid, isCheckboxChecked, isIndeterminate),
2560
+ renderRadio(node, nodeid, isExistChild, nLevel, isRadioChecked),
2561
+ renderCheckbox(node, nodeid, isExistChild, nLevel, isCheckboxChecked, isIndeterminate),
2556
2562
  h('div', {
2557
2563
  class: 'vxe-tree--node-item-inner'
2558
2564
  }, [
@@ -11,7 +11,7 @@ import VxeButtonComponent from '../../button'
11
11
  import VxeTreeComponent from '../../tree'
12
12
  import { getSlotVNs } from '../../ui/src/vn'
13
13
 
14
- import type { TreeSelectReactData, VxeTreeSelectEmits, TreeSelectInternalData, VxeButtonEvents, VxeInputEvents, ValueOf, VxeComponentStyleType, TreeSelectPrivateRef, TreeSelectPrivateMethods, TreeSelectMethods, VxeTreeSelectPrivateComputed, VxeTreeSelectPropTypes, VxeTreeSelectConstructor, VxeFormDefines, VxeDrawerConstructor, VxeDrawerMethods, VxeTreeSelectPrivateMethods, VxeFormConstructor, VxeFormPrivateMethods, VxeInputConstructor, VxeModalConstructor, VxeModalMethods, VxeTreeConstructor, VxeTreeEvents } from '../../../types'
14
+ import type { TreeSelectReactData, VxeTreeSelectEmits, TreeSelectInternalData, VxeButtonEvents, VxeInputEvents, ValueOf, VxeComponentStyleType, TreeSelectPrivateRef, TreeSelectPrivateMethods, TreeSelectMethods, VxeTreeSelectPrivateComputed, VxeTreeSelectPropTypes, VxeTreeSelectConstructor, VxeFormDefines, VxeDrawerConstructor, VxeDrawerMethods, VxeTreeSelectPrivateMethods, VxeFormConstructor, VxeFormPrivateMethods, VxeInputConstructor, VxeModalConstructor, VxeModalMethods, VxeTreeConstructor, VxeTreeEvents, VxeTreeSelectDefines } from '../../../types'
15
15
  import type { VxeTableConstructor, VxeTablePrivateMethods } from '../../../types/components/table'
16
16
 
17
17
  function getOptUniqueId () {
@@ -29,7 +29,9 @@ function createReactData (): TreeSelectReactData {
29
29
  triggerFocusPanel: false,
30
30
  visiblePanel: false,
31
31
  isAniVisible: false,
32
- isActivated: false
32
+ isActivated: false,
33
+ fullOptFlag: 1,
34
+ lazyOptFlag: 1
33
35
  }
34
36
  }
35
37
 
@@ -37,7 +39,8 @@ function createInternalData (): TreeSelectInternalData {
37
39
  return {
38
40
  // hpTimeout: undefined,
39
41
  fullOptionList: [],
40
- fullNodeMaps: {}
42
+ fullNodeMaps: {},
43
+ lazyNodeMaps: {}
41
44
  }
42
45
  }
43
46
 
@@ -59,6 +62,14 @@ export default defineVxeComponent({
59
62
  type: Boolean as PropType<VxeTreeSelectPropTypes.Disabled>,
60
63
  default: null
61
64
  },
65
+ showFullLabel: {
66
+ type: Boolean as PropType<VxeTreeSelectPropTypes.ShowFullLabel>,
67
+ default: getConfig().treeSelect.showFullLabel
68
+ },
69
+ separator: {
70
+ type: String as PropType<VxeTreeSelectPropTypes.Separator>,
71
+ default: getConfig().treeSelect.separator
72
+ },
62
73
  filterable: Boolean as PropType<VxeTreeSelectPropTypes.Filterable>,
63
74
  filterConfig: Object as PropType<VxeTreeSelectPropTypes.FilterConfig>,
64
75
  multiple: Boolean as PropType<VxeTreeSelectPropTypes.Multiple>,
@@ -297,20 +308,20 @@ export default defineVxeComponent({
297
308
  })
298
309
 
299
310
  const computeSelectLabel = computed(() => {
300
- const { modelValue, lazyOptions } = props
301
- const { fullNodeMaps } = internalData
302
- const valueField = computeValueField.value
311
+ const { modelValue, showFullLabel } = props
312
+ const { fullOptFlag, lazyOptFlag } = reactData
313
+ const { fullNodeMaps, lazyNodeMaps } = internalData
303
314
  const labelField = computeLabelField.value
304
315
  const selectVals = XEUtils.eqNull(modelValue) ? [] : (XEUtils.isArray(modelValue) ? modelValue : [modelValue])
305
316
  return selectVals.map(val => {
306
317
  const cacheItem = fullNodeMaps[val]
307
- if (cacheItem) {
308
- return cacheItem.item[labelField]
318
+ if (fullOptFlag && cacheItem) {
319
+ return showFullLabel ? cacheItem.fullLabel : cacheItem.item[labelField]
309
320
  }
310
- if (lazyOptions) {
311
- const lazyItem = lazyOptions.find(item => item[valueField] === val)
312
- if (lazyItem) {
313
- return lazyItem[labelField]
321
+ if (lazyOptFlag) {
322
+ const lazyCacheItem = lazyNodeMaps[val]
323
+ if (lazyCacheItem) {
324
+ return showFullLabel ? lazyCacheItem.fullLabel : lazyCacheItem.item[labelField]
314
325
  }
315
326
  }
316
327
  return val
@@ -375,22 +386,17 @@ export default defineVxeComponent({
375
386
  return nodeid ? encodeURIComponent(nodeid) : ''
376
387
  }
377
388
 
378
- const cacheDataMap = () => {
379
- const { options } = props
389
+ const handleCacheMap = (optList: VxeTreeSelectPropTypes.Options) => {
390
+ const { separator } = props
380
391
  const treeOpts = computeTreeOpts.value
381
392
  const nodeKeyField = computeNodeKeyField.value
382
393
  const childrenField = computeChildrenField.value
383
394
  const valueField = computeValueField.value
395
+ const labelField = computeLabelField.value
384
396
  const { transform } = treeOpts
385
- const nodeMaps: Record<string, {
386
- item: any
387
- index: number
388
- items: any[]
389
- parent: any
390
- nodes: any[]
391
- }> = {}
397
+ const nodeMaps: Record<string, VxeTreeSelectDefines.NodeCacheObj> = {}
392
398
  const keyMaps: Record<string, boolean> = {}
393
- const handleOptNode = (item: any, index: number, items: any[], path: string[], parent: any, nodes: any[]) => {
399
+ const handleOptNode = (item: any, index: number, items: any[], path: string[], parentItem: any, nodes: any[]) => {
394
400
  let nodeid = getNodeid(item)
395
401
  if (!nodeid) {
396
402
  nodeid = getOptUniqueId()
@@ -403,19 +409,38 @@ export default defineVxeComponent({
403
409
  if (nodeMaps[value]) {
404
410
  errLog('vxe.error.repeatKey', [`[tree-select] ${valueField}`, value])
405
411
  }
406
- nodeMaps[value] = { item, index, items, parent, nodes }
412
+ nodeMaps[value] = {
413
+ item,
414
+ index,
415
+ items,
416
+ parent: parentItem,
417
+ nodes,
418
+ fullLabel: nodes.map(item => item[labelField]).join((separator || '/') + ' ')
419
+ }
407
420
  }
408
- if (options) {
421
+ if (optList) {
409
422
  if (transform) {
410
- options.forEach((item, index, items) => {
423
+ optList.forEach((item, index, items) => {
411
424
  handleOptNode(item, index, items, [], null, [])
412
425
  })
413
426
  } else {
414
- XEUtils.eachTree(options, handleOptNode, { children: childrenField })
427
+ XEUtils.eachTree(optList, handleOptNode, { children: childrenField })
415
428
  }
416
429
  }
430
+ return nodeMaps
431
+ }
432
+
433
+ const cacheDataMap = () => {
434
+ const { options } = props
435
+ internalData.fullNodeMaps = handleCacheMap(options || [])
417
436
  internalData.fullOptionList = options || []
418
- internalData.fullNodeMaps = nodeMaps
437
+ reactData.fullOptFlag++
438
+ }
439
+
440
+ const cacheLazyDataMap = () => {
441
+ const { lazyOptions } = props
442
+ internalData.lazyNodeMaps = handleCacheMap(lazyOptions || [])
443
+ reactData.lazyOptFlag++
419
444
  }
420
445
 
421
446
  const updateZindex = () => {
@@ -981,11 +1006,30 @@ export default defineVxeComponent({
981
1006
  ])
982
1007
  }
983
1008
 
1009
+ const optFlag = ref(0)
1010
+ watch(() => props.options ? props.options.length : -1, () => {
1011
+ optFlag.value++
1012
+ })
984
1013
  watch(() => props.options, () => {
1014
+ optFlag.value++
1015
+ })
1016
+ watch(optFlag, () => {
985
1017
  cacheDataMap()
986
1018
  })
987
1019
 
1020
+ const lazyOptFlag = ref(0)
1021
+ watch(() => props.lazyOptions ? props.lazyOptions.length : -1, () => {
1022
+ lazyOptFlag.value++
1023
+ })
1024
+ watch(() => props.lazyOptions, () => {
1025
+ lazyOptFlag.value++
1026
+ })
1027
+ watch(lazyOptFlag, () => {
1028
+ cacheLazyDataMap()
1029
+ })
1030
+
988
1031
  cacheDataMap()
1032
+ cacheLazyDataMap()
989
1033
 
990
1034
  onMounted(() => {
991
1035
  if (XEUtils.isBoolean(props.autoClose)) {
@@ -426,6 +426,7 @@ setConfig({
426
426
  },
427
427
  treeSelect: {
428
428
  autoClose: null as any,
429
+ // separator: '/',
429
430
  virtualYConfig: {
430
431
  enabled: true,
431
432
  gt: 0,