ll-plus 2.7.15 → 2.7.17

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 (286) hide show
  1. package/es/components/advanced-filtering/index.d.ts +300 -300
  2. package/es/components/advanced-filtering/src/advanced-filtering.d.ts +1 -2
  3. package/es/components/advanced-filtering/src/advanced-filtering.vue.d.ts +150 -150
  4. package/es/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +148 -148
  5. package/es/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +3 -3
  6. package/es/components/breadcrumb-card/index.d.ts +1 -1
  7. package/es/components/breadcrumb-card/src/breadcrumb-card.vue.d.ts +1 -1
  8. package/es/components/cascader/index.d.ts +8 -8
  9. package/es/components/cascader/src/cascader.vue.d.ts +8 -8
  10. package/es/components/checkbox/index.d.ts +217 -217
  11. package/es/components/checkbox/src/checkbox-group.vue.d.ts +217 -217
  12. package/es/components/checkbox/src/checkbox.d.ts +56 -56
  13. package/es/components/drawer/index.d.ts +5 -5
  14. package/es/components/drawer/src/components/second-confirmation/index.d.ts +1 -1
  15. package/es/components/drawer/src/components/second-confirmation/src/second-confirmation.vue.d.ts +1 -1
  16. package/es/components/drawer/src/drawer.vue.d.ts +5 -5
  17. package/es/components/easy-cron/index.d.ts +88 -88
  18. package/es/components/easy-cron/src/components/easy-cron-inner.vue.d.ts +88 -88
  19. package/es/components/easy-cron/src/components/easy-cron-modal.vue.d.ts +88 -88
  20. package/es/components/easy-cron/src/easy-cron.vue.d.ts +88 -88
  21. package/es/components/form/index.d.ts +148 -148
  22. package/es/components/form/src/components/form-component.vue.d.ts +1 -1
  23. package/es/components/form/src/config/form.d.ts +56 -56
  24. package/es/components/form/src/form.vue.d.ts +147 -147
  25. package/es/components/icon-picker/index.d.ts +1 -1
  26. package/es/components/icon-picker/src/components/modal.vue.d.ts +1 -1
  27. package/es/components/icon-picker/src/icon-picker.vue.d.ts +1 -1
  28. package/es/components/input/index.d.ts +33 -33
  29. package/es/components/input/src/input.vue.d.ts +33 -33
  30. package/es/components/key-value/index.d.ts +2 -16096
  31. package/es/components/key-value/src/components/key-value-item.vue.d.ts +334 -367
  32. package/es/components/key-value/src/config/key-value-item.d.ts +41 -288
  33. package/es/components/key-value/src/config/key-value.d.ts +23 -29
  34. package/es/components/key-value/src/key-value.vue.d.ts +1151 -1239
  35. package/es/components/modal/index.d.ts +1 -1
  36. package/es/components/modal/src/modal.vue.d.ts +1 -1
  37. package/es/components/new-drawer/index.d.ts +7 -7
  38. package/es/components/new-drawer/src/drawer.vue.d.ts +7 -7
  39. package/es/components/new-modal/index.d.ts +2 -2
  40. package/es/components/new-modal/src/modal.vue.d.ts +2 -2
  41. package/es/components/rich-text-editor/index.d.ts +1 -1
  42. package/es/components/rich-text-editor/src/rich-text-editor.vue.d.ts +1 -1
  43. package/es/components/select/index.d.ts +4 -4
  44. package/es/components/select/src/select.vue.d.ts +4 -4
  45. package/es/components/select-group/index.d.ts +2 -2
  46. package/es/components/select-group/src/select-group.d.ts +1 -1
  47. package/es/components/select-group/src/select-group.vue.d.ts +2 -2
  48. package/es/components/table/index.d.ts +6 -6
  49. package/es/components/table/src/components/main-table.vue.d.ts +2 -2
  50. package/es/components/table/src/config/table.d.ts +2 -2
  51. package/es/components/table/src/table.vue.d.ts +6 -6
  52. package/es/components/textarea/index.d.ts +5 -5
  53. package/es/components/textarea/src/textarea.vue.d.ts +5 -5
  54. package/es/components/tooltip/index.d.ts +4 -4
  55. package/es/components/tooltip/src/tooltip.d.ts +1 -1
  56. package/es/components/tooltip/src/tooltip.vue.d.ts +4 -4
  57. package/es/components/tree-search/index.d.ts +1 -1
  58. package/es/components/tree-search/src/tree-search.vue.d.ts +1 -1
  59. package/es/components/upload-drag/index.d.ts +2 -2
  60. package/es/components/upload-drag/src/upload-drag.vue.d.ts +2 -2
  61. package/es/index.mjs +3 -2
  62. package/es/index.mjs.map +1 -1
  63. package/es/packages/components/advanced-filtering/index.mjs +1 -1
  64. package/es/packages/components/advanced-filtering/src/advanced-filtering.mjs +3 -5
  65. package/es/packages/components/advanced-filtering/src/advanced-filtering.mjs.map +1 -1
  66. package/es/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.mjs +2 -1
  67. package/es/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.mjs.map +1 -1
  68. package/es/packages/components/form/src/form.vue2.mjs +19 -11
  69. package/es/packages/components/form/src/form.vue2.mjs.map +1 -1
  70. package/es/packages/components/index.mjs +1 -1
  71. package/es/packages/components/key-value/index.mjs.map +1 -1
  72. package/es/packages/components/key-value/src/components/key-value-item.vue2.mjs +66 -67
  73. package/es/packages/components/key-value/src/components/key-value-item.vue2.mjs.map +1 -1
  74. package/es/packages/components/key-value/src/config/key-value-item.mjs +36 -11
  75. package/es/packages/components/key-value/src/config/key-value-item.mjs.map +1 -1
  76. package/es/packages/components/key-value/src/config/key-value.mjs +4 -2
  77. package/es/packages/components/key-value/src/config/key-value.mjs.map +1 -1
  78. package/es/packages/components/key-value/src/key-value.vue2.mjs +97 -33
  79. package/es/packages/components/key-value/src/key-value.vue2.mjs.map +1 -1
  80. package/es/packages/components/select-group/src/select-group.vue2.mjs +1 -2
  81. package/es/packages/components/select-group/src/select-group.vue2.mjs.map +1 -1
  82. package/es/packages/utils/data.mjs +42 -0
  83. package/es/packages/utils/data.mjs.map +1 -0
  84. package/es/packages/utils/{deepUnref.mjs → deep-unref.mjs} +1 -1
  85. package/es/packages/utils/deep-unref.mjs.map +1 -0
  86. package/es/packages/utils/index.mjs +2 -1
  87. package/es/packages/utils/index.mjs.map +1 -1
  88. package/es/utils/data.d.ts +3 -0
  89. package/es/utils/index.d.ts +2 -1
  90. package/es/utils/props/runtime.d.ts +2 -2
  91. package/index.full.js +257 -125
  92. package/index.full.min.js +22 -22
  93. package/index.full.min.js.map +1 -1
  94. package/index.full.min.mjs +22 -22
  95. package/index.full.min.mjs.map +1 -1
  96. package/index.full.mjs +256 -126
  97. package/lib/components/advanced-filtering/index.d.ts +300 -300
  98. package/lib/components/advanced-filtering/src/advanced-filtering.d.ts +1 -2
  99. package/lib/components/advanced-filtering/src/advanced-filtering.vue.d.ts +150 -150
  100. package/lib/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +148 -148
  101. package/lib/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +3 -3
  102. package/lib/components/breadcrumb-card/index.d.ts +1 -1
  103. package/lib/components/breadcrumb-card/src/breadcrumb-card.vue.d.ts +1 -1
  104. package/lib/components/cascader/index.d.ts +8 -8
  105. package/lib/components/cascader/src/cascader.vue.d.ts +8 -8
  106. package/lib/components/checkbox/index.d.ts +217 -217
  107. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +217 -217
  108. package/lib/components/checkbox/src/checkbox.d.ts +56 -56
  109. package/lib/components/drawer/index.d.ts +5 -5
  110. package/lib/components/drawer/src/components/second-confirmation/index.d.ts +1 -1
  111. package/lib/components/drawer/src/components/second-confirmation/src/second-confirmation.vue.d.ts +1 -1
  112. package/lib/components/drawer/src/drawer.vue.d.ts +5 -5
  113. package/lib/components/easy-cron/index.d.ts +88 -88
  114. package/lib/components/easy-cron/src/components/easy-cron-inner.vue.d.ts +88 -88
  115. package/lib/components/easy-cron/src/components/easy-cron-modal.vue.d.ts +88 -88
  116. package/lib/components/easy-cron/src/easy-cron.vue.d.ts +88 -88
  117. package/lib/components/form/index.d.ts +148 -148
  118. package/lib/components/form/src/components/form-component.vue.d.ts +1 -1
  119. package/lib/components/form/src/config/form.d.ts +56 -56
  120. package/lib/components/form/src/form.vue.d.ts +147 -147
  121. package/lib/components/icon-picker/index.d.ts +1 -1
  122. package/lib/components/icon-picker/src/components/modal.vue.d.ts +1 -1
  123. package/lib/components/icon-picker/src/icon-picker.vue.d.ts +1 -1
  124. package/lib/components/input/index.d.ts +33 -33
  125. package/lib/components/input/src/input.vue.d.ts +33 -33
  126. package/lib/components/key-value/index.d.ts +2 -16096
  127. package/lib/components/key-value/src/components/key-value-item.vue.d.ts +334 -367
  128. package/lib/components/key-value/src/config/key-value-item.d.ts +41 -288
  129. package/lib/components/key-value/src/config/key-value.d.ts +23 -29
  130. package/lib/components/key-value/src/key-value.vue.d.ts +1151 -1239
  131. package/lib/components/modal/index.d.ts +1 -1
  132. package/lib/components/modal/src/modal.vue.d.ts +1 -1
  133. package/lib/components/new-drawer/index.d.ts +7 -7
  134. package/lib/components/new-drawer/src/drawer.vue.d.ts +7 -7
  135. package/lib/components/new-modal/index.d.ts +2 -2
  136. package/lib/components/new-modal/src/modal.vue.d.ts +2 -2
  137. package/lib/components/rich-text-editor/index.d.ts +1 -1
  138. package/lib/components/rich-text-editor/src/rich-text-editor.vue.d.ts +1 -1
  139. package/lib/components/select/index.d.ts +4 -4
  140. package/lib/components/select/src/select.vue.d.ts +4 -4
  141. package/lib/components/select-group/index.d.ts +2 -2
  142. package/lib/components/select-group/src/select-group.d.ts +1 -1
  143. package/lib/components/select-group/src/select-group.vue.d.ts +2 -2
  144. package/lib/components/table/index.d.ts +6 -6
  145. package/lib/components/table/src/components/main-table.vue.d.ts +2 -2
  146. package/lib/components/table/src/config/table.d.ts +2 -2
  147. package/lib/components/table/src/table.vue.d.ts +6 -6
  148. package/lib/components/textarea/index.d.ts +5 -5
  149. package/lib/components/textarea/src/textarea.vue.d.ts +5 -5
  150. package/lib/components/tooltip/index.d.ts +4 -4
  151. package/lib/components/tooltip/src/tooltip.d.ts +1 -1
  152. package/lib/components/tooltip/src/tooltip.vue.d.ts +4 -4
  153. package/lib/components/tree-search/index.d.ts +1 -1
  154. package/lib/components/tree-search/src/tree-search.vue.d.ts +1 -1
  155. package/lib/components/upload-drag/index.d.ts +2 -2
  156. package/lib/components/upload-drag/src/upload-drag.vue.d.ts +2 -2
  157. package/lib/index.js +5 -2
  158. package/lib/index.js.map +1 -1
  159. package/lib/packages/components/advanced-filtering/index.js +0 -1
  160. package/lib/packages/components/advanced-filtering/index.js.map +1 -1
  161. package/lib/packages/components/advanced-filtering/src/advanced-filtering.js +5 -8
  162. package/lib/packages/components/advanced-filtering/src/advanced-filtering.js.map +1 -1
  163. package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.js +2 -1
  164. package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.js.map +1 -1
  165. package/lib/packages/components/form/src/form.vue2.js +19 -11
  166. package/lib/packages/components/form/src/form.vue2.js.map +1 -1
  167. package/lib/packages/components/index.js +0 -1
  168. package/lib/packages/components/index.js.map +1 -1
  169. package/lib/packages/components/key-value/index.js.map +1 -1
  170. package/lib/packages/components/key-value/src/components/key-value-item.vue2.js +65 -66
  171. package/lib/packages/components/key-value/src/components/key-value-item.vue2.js.map +1 -1
  172. package/lib/packages/components/key-value/src/config/key-value-item.js +36 -11
  173. package/lib/packages/components/key-value/src/config/key-value-item.js.map +1 -1
  174. package/lib/packages/components/key-value/src/config/key-value.js +4 -2
  175. package/lib/packages/components/key-value/src/config/key-value.js.map +1 -1
  176. package/lib/packages/components/key-value/src/key-value.vue2.js +97 -33
  177. package/lib/packages/components/key-value/src/key-value.vue2.js.map +1 -1
  178. package/lib/packages/components/select-group/src/select-group.vue2.js +2 -3
  179. package/lib/packages/components/select-group/src/select-group.vue2.js.map +1 -1
  180. package/lib/packages/utils/data.js +46 -0
  181. package/lib/packages/utils/data.js.map +1 -0
  182. package/lib/packages/utils/{deepUnref.js → deep-unref.js} +1 -1
  183. package/lib/packages/utils/deep-unref.js.map +1 -0
  184. package/lib/packages/utils/index.js +5 -1
  185. package/lib/packages/utils/index.js.map +1 -1
  186. package/lib/utils/data.d.ts +3 -0
  187. package/lib/utils/index.d.ts +2 -1
  188. package/lib/utils/props/runtime.d.ts +2 -2
  189. package/package.json +1 -1
  190. package/theme-chalk/css/advanced-filtering.css +2 -2
  191. package/theme-chalk/css/api-component.css +2 -2
  192. package/theme-chalk/css/cascader.css +2 -2
  193. package/theme-chalk/css/checkbox.css +2 -2
  194. package/theme-chalk/css/code-editor.css +2 -2
  195. package/theme-chalk/css/color-picker.css +2 -2
  196. package/theme-chalk/css/cropper.css +2 -2
  197. package/theme-chalk/css/descriptions.css +2 -2
  198. package/theme-chalk/css/drawer.css +2 -2
  199. package/theme-chalk/css/dropdown-button-simple.css +2 -2
  200. package/theme-chalk/css/dropdown.css +2 -2
  201. package/theme-chalk/css/easy-cron.css +2 -2
  202. package/theme-chalk/css/form.css +2 -2
  203. package/theme-chalk/css/images.css +1 -1
  204. package/theme-chalk/css/index.css +3 -3
  205. package/theme-chalk/css/input-number.css +2 -2
  206. package/theme-chalk/css/input.css +2 -2
  207. package/theme-chalk/css/key-value.css +2 -2
  208. package/theme-chalk/css/markdown-editor.css +2 -2
  209. package/theme-chalk/css/modal.css +2 -2
  210. package/theme-chalk/css/new-drawer.css +2 -2
  211. package/theme-chalk/css/new-modal.css +2 -2
  212. package/theme-chalk/css/number-range.css +2 -2
  213. package/theme-chalk/css/rich-text-editor.css +2 -2
  214. package/theme-chalk/css/segmented.css +2 -2
  215. package/theme-chalk/css/switch.css +2 -2
  216. package/theme-chalk/css/table.css +2 -2
  217. package/theme-chalk/css/tabs-simple.css +2 -2
  218. package/theme-chalk/css/tag-group.css +2 -2
  219. package/types/packages/components/advanced-filtering/index.d.ts +300 -300
  220. package/types/packages/components/advanced-filtering/src/advanced-filtering.d.ts +1 -2
  221. package/types/packages/components/advanced-filtering/src/advanced-filtering.vue.d.ts +150 -150
  222. package/types/packages/components/advanced-filtering/src/components/advanced-filtering-params.vue.d.ts +148 -148
  223. package/types/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +3 -3
  224. package/types/packages/components/breadcrumb-card/index.d.ts +1 -1
  225. package/types/packages/components/breadcrumb-card/src/breadcrumb-card.vue.d.ts +1 -1
  226. package/types/packages/components/cascader/index.d.ts +8 -8
  227. package/types/packages/components/cascader/src/cascader.vue.d.ts +8 -8
  228. package/types/packages/components/checkbox/index.d.ts +217 -217
  229. package/types/packages/components/checkbox/src/checkbox-group.vue.d.ts +217 -217
  230. package/types/packages/components/checkbox/src/checkbox.d.ts +56 -56
  231. package/types/packages/components/drawer/index.d.ts +5 -5
  232. package/types/packages/components/drawer/src/components/second-confirmation/index.d.ts +1 -1
  233. package/types/packages/components/drawer/src/components/second-confirmation/src/second-confirmation.vue.d.ts +1 -1
  234. package/types/packages/components/drawer/src/drawer.vue.d.ts +5 -5
  235. package/types/packages/components/easy-cron/index.d.ts +88 -88
  236. package/types/packages/components/easy-cron/src/components/easy-cron-inner.vue.d.ts +88 -88
  237. package/types/packages/components/easy-cron/src/components/easy-cron-modal.vue.d.ts +88 -88
  238. package/types/packages/components/easy-cron/src/easy-cron.vue.d.ts +88 -88
  239. package/types/packages/components/form/index.d.ts +148 -148
  240. package/types/packages/components/form/src/components/form-component.vue.d.ts +1 -1
  241. package/types/packages/components/form/src/config/form.d.ts +56 -56
  242. package/types/packages/components/form/src/form.vue.d.ts +147 -147
  243. package/types/packages/components/icon-picker/index.d.ts +1 -1
  244. package/types/packages/components/icon-picker/src/components/modal.vue.d.ts +1 -1
  245. package/types/packages/components/icon-picker/src/icon-picker.vue.d.ts +1 -1
  246. package/types/packages/components/input/index.d.ts +33 -33
  247. package/types/packages/components/input/src/input.vue.d.ts +33 -33
  248. package/types/packages/components/key-value/index.d.ts +2 -16096
  249. package/types/packages/components/key-value/src/components/key-value-item.vue.d.ts +334 -367
  250. package/types/packages/components/key-value/src/config/key-value-item.d.ts +41 -288
  251. package/types/packages/components/key-value/src/config/key-value.d.ts +23 -29
  252. package/types/packages/components/key-value/src/key-value.vue.d.ts +1151 -1239
  253. package/types/packages/components/modal/index.d.ts +1 -1
  254. package/types/packages/components/modal/src/modal.vue.d.ts +1 -1
  255. package/types/packages/components/new-drawer/index.d.ts +7 -7
  256. package/types/packages/components/new-drawer/src/drawer.vue.d.ts +7 -7
  257. package/types/packages/components/new-modal/index.d.ts +2 -2
  258. package/types/packages/components/new-modal/src/modal.vue.d.ts +2 -2
  259. package/types/packages/components/rich-text-editor/index.d.ts +1 -1
  260. package/types/packages/components/rich-text-editor/src/rich-text-editor.vue.d.ts +1 -1
  261. package/types/packages/components/select/index.d.ts +4 -4
  262. package/types/packages/components/select/src/select.vue.d.ts +4 -4
  263. package/types/packages/components/select-group/index.d.ts +2 -2
  264. package/types/packages/components/select-group/src/select-group.d.ts +1 -1
  265. package/types/packages/components/select-group/src/select-group.vue.d.ts +2 -2
  266. package/types/packages/components/table/index.d.ts +6 -6
  267. package/types/packages/components/table/src/components/main-table.vue.d.ts +2 -2
  268. package/types/packages/components/table/src/config/table.d.ts +2 -2
  269. package/types/packages/components/table/src/table.vue.d.ts +6 -6
  270. package/types/packages/components/textarea/index.d.ts +5 -5
  271. package/types/packages/components/textarea/src/textarea.vue.d.ts +5 -5
  272. package/types/packages/components/tooltip/index.d.ts +4 -4
  273. package/types/packages/components/tooltip/src/tooltip.d.ts +1 -1
  274. package/types/packages/components/tooltip/src/tooltip.vue.d.ts +4 -4
  275. package/types/packages/components/tree-search/index.d.ts +1 -1
  276. package/types/packages/components/tree-search/src/tree-search.vue.d.ts +1 -1
  277. package/types/packages/components/upload-drag/index.d.ts +2 -2
  278. package/types/packages/components/upload-drag/src/upload-drag.vue.d.ts +2 -2
  279. package/types/packages/utils/data.d.ts +3 -0
  280. package/types/packages/utils/index.d.ts +2 -1
  281. package/types/packages/utils/props/runtime.d.ts +2 -2
  282. package/es/packages/utils/deepUnref.mjs.map +0 -1
  283. package/lib/packages/utils/deepUnref.js.map +0 -1
  284. /package/es/utils/{deepUnref.d.ts → deep-unref.d.ts} +0 -0
  285. /package/lib/utils/{deepUnref.d.ts → deep-unref.d.ts} +0 -0
  286. /package/types/packages/utils/{deepUnref.d.ts → deep-unref.d.ts} +0 -0
@@ -23,7 +23,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
23
23
  const attrs = vue.useAttrs();
24
24
  const bem = createNamespace.createNamespace("key-value");
25
25
  const innerValue = vue.ref(props.value);
26
- const form = vue.ref();
26
+ const formRef = vue.ref();
27
27
  const getKeyType = vue.computed(() => {
28
28
  const option = props.keyType;
29
29
  return option;
@@ -41,27 +41,34 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
41
41
  const getValueDisabled = vue.computed(() => {
42
42
  return props.disabledValue?.includes(props.idx) || props.disabled || getValueType.value?.disabled;
43
43
  });
44
- const getDeleteDisabled = vue.computed(() => {
45
- return props.disabledDelete?.includes(props.idx) || props.disabled;
46
- });
47
44
  const hasValue = vue.computed(() => {
48
45
  return innerValue.value["key"] || innerValue.value["key"] === 0 || innerValue.value["value"];
49
46
  });
47
+ const getDeleteDisabled = vue.computed(() => {
48
+ return props.disabledDelete?.includes(props.idx) || props.disabled || props.values.length === 1 && !hasValue.value;
49
+ });
50
50
  const handleDelete = () => {
51
51
  emits("delete");
52
52
  };
53
53
  const handleChange = async () => {
54
54
  innerValue.value["value"] = null;
55
- await form.value?.clearValidate();
55
+ await formRef.value?.clearValidate();
56
56
  };
57
57
  const validate = async () => {
58
- return await form.value?.validate();
58
+ await vue.nextTick();
59
+ try {
60
+ await formRef.value?.validate();
61
+ return Promise.resolve();
62
+ } catch (error) {
63
+ console.log({ error }, props.idx);
64
+ return Promise.reject();
65
+ }
59
66
  };
60
67
  const resetFields = async () => {
61
- return await form.value?.resetFields();
68
+ await formRef.value?.resetFields();
62
69
  };
63
70
  const clearValidate = async (namePath) => {
64
- return await form.value?.clearValidate(namePath);
71
+ await formRef.value?.clearValidate(namePath);
65
72
  };
66
73
  vue.watch(
67
74
  innerValue,
@@ -92,8 +99,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
92
99
  const _component_a_popconfirm = vue.resolveComponent("a-popconfirm");
93
100
  const _component_ll_form = vue.resolveComponent("ll-form");
94
101
  return vue.openBlock(), vue.createBlock(_component_ll_form, {
95
- ref_key: "form",
96
- ref: form,
102
+ ref_key: "formRef",
103
+ ref: formRef,
97
104
  "form-columns": vue.unref(keyValueItem.formColumns),
98
105
  "form-data": props.value,
99
106
  "form-options": vue.unref(keyValueItem.formOptions)
@@ -194,7 +201,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
194
201
  name: "value"
195
202
  }, {
196
203
  default: vue.withCtx(() => [
197
- vue.renderSlot(_ctx.$slots, "value-warapper", vue.normalizeProps(vue.guardReactiveProps(getValueType.value)), () => [
204
+ vue.renderSlot(_ctx.$slots, "value-wrapper", vue.normalizeProps(vue.guardReactiveProps(getValueType.value)), () => [
198
205
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(`ll-${getValueType.value.type}`), vue.mergeProps({
199
206
  value: innerValue.value["value"],
200
207
  "onUpdate:value": _cache[2] || (_cache[2] = ($event) => innerValue.value["value"] = $event),
@@ -222,57 +229,21 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
222
229
  2
223
230
  /* CLASS */
224
231
  ),
225
- props.showDelete ? (vue.openBlock(), vue.createElementBlock(
226
- vue.Fragment,
227
- { key: 2 },
228
- [
229
- hasValue.value ? (vue.openBlock(), vue.createBlock(_component_a_popconfirm, {
230
- key: 0,
231
- title: "\u786E\u5B9A\u8981\u79FB\u9664\u5417?",
232
- "ok-text": "\u786E\u8BA4",
233
- "cancel-text": "\u53D6\u6D88",
234
- placement: "topRight",
235
- "overlay-class-name": vue.unref(bem).m("popconfirm"),
236
- "get-popup-container": (trigger) => trigger.parentNode,
237
- "destroy-tooltip-on-hide": "",
238
- onConfirm: handleDelete
239
- }, {
240
- default: vue.withCtx(() => [
241
- vue.createElementVNode(
242
- "div",
243
- {
244
- class: vue.normalizeClass(vue.unref(bem).m("delete")),
245
- style: vue.normalizeStyle({
246
- "margin-top": !!vue.unref(attrs)["key-label"] || !!vue.unref(attrs)["value-label"] ? "26px" : "0px"
247
- })
248
- },
249
- [
250
- vue.createVNode(_component_ll_button, {
251
- type: "link",
252
- disabled: getDeleteDisabled.value
253
- }, {
254
- default: vue.withCtx(() => [
255
- vue.renderSlot(_ctx.$slots, "delete-icon", {}, () => [
256
- vue.createVNode(_component_ll_icon, {
257
- "icon-name": "icon-remove",
258
- class: "delete"
259
- })
260
- ])
261
- ]),
262
- _: 3
263
- /* FORWARDED */
264
- }, 8, ["disabled"])
265
- ],
266
- 6
267
- /* CLASS, STYLE */
268
- )
269
- ]),
270
- _: 3
271
- /* FORWARDED */
272
- }, 8, ["overlay-class-name", "get-popup-container"])) : (vue.openBlock(), vue.createElementBlock(
232
+ hasValue.value ? (vue.openBlock(), vue.createBlock(_component_a_popconfirm, {
233
+ key: 2,
234
+ title: "\u786E\u5B9A\u8981\u79FB\u9664\u5417?",
235
+ "ok-text": "\u786E\u8BA4",
236
+ "cancel-text": "\u53D6\u6D88",
237
+ placement: "topRight",
238
+ "overlay-class-name": vue.unref(bem).m("popconfirm"),
239
+ "get-popup-container": (trigger) => trigger.parentNode,
240
+ "destroy-tooltip-on-hide": "",
241
+ onConfirm: handleDelete
242
+ }, {
243
+ default: vue.withCtx(() => [
244
+ vue.createElementVNode(
273
245
  "div",
274
246
  {
275
- key: 1,
276
247
  class: vue.normalizeClass(vue.unref(bem).m("delete")),
277
248
  style: vue.normalizeStyle({
278
249
  "margin-top": !!vue.unref(attrs)["key-label"] || !!vue.unref(attrs)["value-label"] ? "26px" : "0px"
@@ -281,8 +252,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
281
252
  [
282
253
  vue.createVNode(_component_ll_button, {
283
254
  type: "link",
284
- disabled: getDeleteDisabled.value,
285
- onClick: handleDelete
255
+ disabled: getDeleteDisabled.value
286
256
  }, {
287
257
  default: vue.withCtx(() => [
288
258
  vue.renderSlot(_ctx.$slots, "delete-icon", {}, () => [
@@ -298,11 +268,40 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
298
268
  ],
299
269
  6
300
270
  /* CLASS, STYLE */
301
- ))
271
+ )
272
+ ]),
273
+ _: 3
274
+ /* FORWARDED */
275
+ }, 8, ["overlay-class-name", "get-popup-container"])) : (vue.openBlock(), vue.createElementBlock(
276
+ "div",
277
+ {
278
+ key: 3,
279
+ class: vue.normalizeClass(vue.unref(bem).m("delete")),
280
+ style: vue.normalizeStyle({
281
+ "margin-top": !!vue.unref(attrs)["key-label"] || !!vue.unref(attrs)["value-label"] ? "26px" : "0px"
282
+ })
283
+ },
284
+ [
285
+ vue.createVNode(_component_ll_button, {
286
+ type: "link",
287
+ disabled: getDeleteDisabled.value,
288
+ onClick: handleDelete
289
+ }, {
290
+ default: vue.withCtx(() => [
291
+ vue.renderSlot(_ctx.$slots, "delete-icon", {}, () => [
292
+ vue.createVNode(_component_ll_icon, {
293
+ "icon-name": "icon-remove",
294
+ class: "delete"
295
+ })
296
+ ])
297
+ ]),
298
+ _: 3
299
+ /* FORWARDED */
300
+ }, 8, ["disabled"])
302
301
  ],
303
- 64
304
- /* STABLE_FRAGMENT */
305
- )) : vue.createCommentVNode("v-if", true)
302
+ 6
303
+ /* CLASS, STYLE */
304
+ ))
306
305
  ],
307
306
  2
308
307
  /* CLASS */
@@ -1 +1 @@
1
- {"version":3,"file":"key-value-item.vue2.js","sources":["../../../../../../../packages/components/key-value/src/components/key-value-item.vue"],"sourcesContent":["<template>\n <ll-form\n ref=\"form\"\n :form-columns=\"formColumns\"\n :form-data=\"props.value\"\n :form-options=\"formOptions\"\n >\n <template #formItem=\"{ item }\">\n <template v-if=\"item.key === 'other'\">\n <div :class=\"bem.e('item')\">\n <div v-if=\"props.keyValueType !== 'single'\" :class=\"bem.m('left')\">\n <ll-form-item\n :label=\"attrs['key-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getKeyType.rules || []\"\n name=\"key\"\n >\n <slot name=\"key\">\n <ll-select\n v-if=\"!isEmpty(props.keyTypes)\"\n v-model:value=\"innerValue['key']\"\n :options=\"props.keyTypes\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n placeholder=\"请选择\"\n allow-clear\n @change=\"handleChange\"\n />\n <component\n :is=\"`ll-${getKeyType.type}`\"\n v-else\n v-model:value=\"innerValue['key']\"\n v-bind=\"getKeyType\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"key\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n\n <div\n v-if=\"props.keyValueType !== 'single'\"\n :class=\"bem.m('separator')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label'] ? '26px' : '0px'\n }\"\n >\n <slot name=\"separator\">~</slot>\n </div>\n\n <div :class=\"bem.m('right')\">\n <ll-form-item\n :label=\"attrs['value-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getValueType.rules || []\"\n name=\"value\"\n >\n <slot name=\"value-warapper\" v-bind=\"getValueType\">\n <component\n :is=\"`ll-${getValueType.type}`\"\n v-model:value=\"innerValue['value']\"\n :disabled=\"getValueDisabled\"\n style=\"width: 100%\"\n v-bind=\"getValueType\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"value\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n <template v-if=\"props.showDelete\">\n <template v-if=\"hasValue\">\n <a-popconfirm\n title=\"确定要移除吗?\"\n ok-text=\"确认\"\n cancel-text=\"取消\"\n placement=\"topRight\"\n :overlay-class-name=\"bem.m('popconfirm')\"\n :get-popup-container=\"(trigger: Element) => trigger.parentNode\"\n destroy-tooltip-on-hide\n @confirm=\"handleDelete\"\n >\n <div\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label']\n ? '26px'\n : '0px'\n }\"\n >\n <ll-button type=\"link\" :disabled=\"getDeleteDisabled\">\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </a-popconfirm>\n </template>\n <div\n v-else\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label']\n ? '26px'\n : '0px'\n }\"\n >\n <ll-button\n type=\"link\"\n :disabled=\"getDeleteDisabled\"\n @click=\"handleDelete\"\n >\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </template>\n </div>\n </template>\n </template>\n </ll-form>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, useAttrs, watch, nextTick } from 'vue'\nimport { isEmpty } from 'lodash-es'\nimport { createNamespace } from '@ll-plus/utils'\nimport type { FormInstance } from '@ll-plus/components'\nimport {\n keyValueItemProps,\n keyValueItemEmits,\n formColumns,\n formOptions\n} from '../config'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { NamePath } from 'ant-design-vue/es/form/interface'\n\ndefineOptions({\n name: 'LlKeyValueItem'\n})\n\nconst props = defineProps(keyValueItemProps)\nconst emits = defineEmits(keyValueItemEmits)\n\nconst attrs = useAttrs()\nconst bem = createNamespace('key-value')\nconst innerValue = ref(props.value)\n\nconst form = ref<FormInstance | null>()\n\nconst getKeyType = computed<FormColumn>(() => {\n const option = props.keyType\n return option\n})\nconst getValueType = computed<FormColumn>(() => {\n let option = props.valueType\n if (innerValue.value['key'] && !isEmpty(props.keyValueTypeDict)) {\n option = props.keyValueTypeDict[innerValue.value['key']]\n }\n return option\n})\n\nconst getKeyDisabled = computed(() => {\n return (\n props.disabledKey?.includes(props.idx) ||\n props.disabled ||\n getKeyType.value?.disabled\n )\n})\n\nconst getValueDisabled = computed(() => {\n return (\n props.disabledValue?.includes(props.idx) ||\n props.disabled ||\n getValueType.value?.disabled\n )\n})\n\nconst getDeleteDisabled = computed(() => {\n return props.disabledDelete?.includes(props.idx) || props.disabled\n})\n\nconst hasValue = computed(() => {\n return (\n innerValue.value['key'] ||\n innerValue.value['key'] === 0 ||\n innerValue.value['value']\n )\n})\n\nconst handleDelete = () => {\n emits('delete')\n}\n\nconst handleChange = async () => {\n innerValue.value['value'] = null\n await form.value?.clearValidate()\n}\n\nconst validate = async () => {\n return await form.value?.validate()\n}\n\nconst resetFields = async () => {\n return await form.value?.resetFields()\n}\nconst clearValidate = async (namePath?: NamePath[]) => {\n return await form.value?.clearValidate(namePath)\n}\n\nwatch(\n innerValue,\n async val => {\n await nextTick().then(() => {\n try {\n emits('update:value', val)\n emits('change')\n } catch (error) {\n console.error(error)\n }\n })\n },\n {\n deep: true\n }\n)\n\ndefineExpose({\n validate,\n resetFields,\n clearValidate\n})\n</script>\n\n<style scoped></style>\n"],"names":["useAttrs","createNamespace","ref","computed","isEmpty","watch","nextTick"],"mappings":"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"}
1
+ {"version":3,"file":"key-value-item.vue2.js","sources":["../../../../../../../packages/components/key-value/src/components/key-value-item.vue"],"sourcesContent":["<template>\n <ll-form\n ref=\"formRef\"\n :form-columns=\"formColumns\"\n :form-data=\"props.value\"\n :form-options=\"formOptions\"\n >\n <template #formItem=\"{ item }\">\n <template v-if=\"item.key === 'other'\">\n <div :class=\"bem.e('item')\">\n <div v-if=\"props.keyValueType !== 'single'\" :class=\"bem.m('left')\">\n <ll-form-item\n :label=\"attrs['key-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getKeyType.rules || []\"\n name=\"key\"\n >\n <slot name=\"key\">\n <ll-select\n v-if=\"!isEmpty(props.keyTypes)\"\n v-model:value=\"innerValue['key']\"\n :options=\"props.keyTypes\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n placeholder=\"请选择\"\n allow-clear\n @change=\"handleChange\"\n />\n <component\n :is=\"`ll-${getKeyType.type}`\"\n v-else\n v-model:value=\"innerValue['key']\"\n v-bind=\"getKeyType\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"key\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n\n <div\n v-if=\"props.keyValueType !== 'single'\"\n :class=\"bem.m('separator')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label'] ? '26px' : '0px'\n }\"\n >\n <slot name=\"separator\">~</slot>\n </div>\n\n <div :class=\"bem.m('right')\">\n <ll-form-item\n :label=\"attrs['value-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getValueType.rules || []\"\n name=\"value\"\n >\n <slot name=\"value-wrapper\" v-bind=\"getValueType\">\n <component\n :is=\"`ll-${getValueType.type}`\"\n v-model:value=\"innerValue['value']\"\n :disabled=\"getValueDisabled\"\n style=\"width: 100%\"\n v-bind=\"getValueType\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"value\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n <template v-if=\"hasValue\">\n <a-popconfirm\n title=\"确定要移除吗?\"\n ok-text=\"确认\"\n cancel-text=\"取消\"\n placement=\"topRight\"\n :overlay-class-name=\"bem.m('popconfirm')\"\n :get-popup-container=\"(trigger: Element) => trigger.parentNode\"\n destroy-tooltip-on-hide\n @confirm=\"handleDelete\"\n >\n <div\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label']\n ? '26px'\n : '0px'\n }\"\n >\n <ll-button type=\"link\" :disabled=\"getDeleteDisabled\">\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </a-popconfirm>\n </template>\n <div\n v-else\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label'] ? '26px' : '0px'\n }\"\n >\n <ll-button\n type=\"link\"\n :disabled=\"getDeleteDisabled\"\n @click=\"handleDelete\"\n >\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </div>\n </template>\n </template>\n </ll-form>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, useAttrs, watch, nextTick } from 'vue'\nimport { isEmpty } from 'lodash-es'\nimport { createNamespace } from '@ll-plus/utils'\nimport type { FormInstance } from '@ll-plus/components'\nimport {\n keyValueItemProps,\n keyValueItemEmits,\n formColumns,\n formOptions\n} from '../config'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { NamePath } from 'ant-design-vue/es/form/interface'\n\ndefineOptions({\n name: 'LlKeyValueItem'\n})\n\nconst props = defineProps(keyValueItemProps)\nconst emits = defineEmits(keyValueItemEmits)\n\nconst attrs = useAttrs()\nconst bem = createNamespace('key-value')\nconst innerValue = ref(props.value)\n\nconst formRef = ref<FormInstance | null>()\n\nconst getKeyType = computed<FormColumn>(() => {\n const option = props.keyType\n return option\n})\nconst getValueType = computed<FormColumn>(() => {\n let option = props.valueType\n if (innerValue.value['key'] && !isEmpty(props.keyValueTypeDict)) {\n option = props.keyValueTypeDict[innerValue.value['key']]\n }\n return option\n})\n\nconst getKeyDisabled = computed(() => {\n return (\n props.disabledKey?.includes(props.idx) ||\n props.disabled ||\n getKeyType.value?.disabled\n )\n})\n\nconst getValueDisabled = computed(() => {\n return (\n props.disabledValue?.includes(props.idx) ||\n props.disabled ||\n getValueType.value?.disabled\n )\n})\n\nconst hasValue = computed(() => {\n return (\n innerValue.value['key'] ||\n innerValue.value['key'] === 0 ||\n innerValue.value['value']\n )\n})\n\nconst getDeleteDisabled = computed(() => {\n return (\n props.disabledDelete?.includes(props.idx) ||\n props.disabled ||\n (props.values.length === 1 && !hasValue.value)\n )\n})\n\nconst handleDelete = () => {\n emits('delete')\n}\n\nconst handleChange = async () => {\n innerValue.value['value'] = null\n await formRef.value?.clearValidate()\n}\n\nconst validate = async () => {\n await nextTick()\n try {\n await formRef.value?.validate()\n return Promise.resolve()\n } catch (error) {\n console.log({ error }, props.idx)\n return Promise.reject()\n }\n}\n\nconst resetFields = async () => {\n await formRef.value?.resetFields()\n}\n\nconst clearValidate = async (namePath?: NamePath[]) => {\n await formRef.value?.clearValidate(namePath)\n}\n\nwatch(\n innerValue,\n async val => {\n await nextTick().then(() => {\n try {\n emits('update:value', val)\n emits('change')\n } catch (error) {\n console.error(error)\n }\n })\n },\n {\n deep: true\n }\n)\n\ndefineExpose({\n validate,\n resetFields,\n clearValidate\n})\n</script>\n\n<style scoped></style>\n"],"names":["useAttrs","createNamespace","ref","computed","isEmpty","nextTick","watch"],"mappings":"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"}
@@ -31,34 +31,59 @@ const formColumns = [
31
31
  ];
32
32
  const keyValueItemProps = runtime.buildProps({
33
33
  disabled: {
34
- type: Boolean
34
+ type: Boolean,
35
+ default: false
36
+ },
37
+ values: {
38
+ type: runtime.definePropType(Array),
39
+ default: () => [
40
+ {
41
+ key: null,
42
+ value: null,
43
+ guid: ""
44
+ }
45
+ ]
35
46
  },
36
47
  disabledValue: {
37
- type: runtime.definePropType(Array)
48
+ type: runtime.definePropType(Array),
49
+ default: () => []
38
50
  },
39
51
  disabledKey: {
40
- type: runtime.definePropType(Array)
52
+ type: runtime.definePropType(Array),
53
+ default: () => []
41
54
  },
42
55
  disabledDelete: {
43
- type: runtime.definePropType(Array)
56
+ type: runtime.definePropType(Array),
57
+ default: () => []
44
58
  },
45
59
  keyValueType: {
46
- type: runtime.definePropType(String)
60
+ type: runtime.definePropType(String),
61
+ default: "doubt"
47
62
  },
48
63
  keyType: {
49
- type: runtime.definePropType(Object)
64
+ type: runtime.definePropType(Object),
65
+ default: () => ({
66
+ type: "input",
67
+ placeholder: "\u8BF7\u8F93\u5165Key"
68
+ })
50
69
  },
51
70
  keyTypes: {
52
- type: runtime.definePropType(Array)
71
+ type: runtime.definePropType(Array),
72
+ default: () => []
53
73
  },
54
74
  valueType: {
55
- type: runtime.definePropType(Object)
75
+ type: runtime.definePropType(Object),
76
+ default: () => ({
77
+ type: "input",
78
+ placeholder: "\u8BF7\u8F93\u5165Value"
79
+ })
56
80
  },
57
81
  value: {
58
82
  type: runtime.definePropType(Object),
59
83
  default: () => ({
60
84
  key: "",
61
- value: ""
85
+ value: "",
86
+ guid: ""
62
87
  })
63
88
  },
64
89
  idx: {
@@ -69,9 +94,9 @@ const keyValueItemProps = runtime.buildProps({
69
94
  type: Object,
70
95
  default: () => ({})
71
96
  },
72
- showDelete: {
97
+ keepLast: {
73
98
  type: Boolean,
74
- default: true
99
+ default: false
75
100
  }
76
101
  });
77
102
  const keyValueItemEmits = {
@@ -1 +1 @@
1
- {"version":3,"file":"key-value-item.js","sources":["../../../../../../../packages/components/key-value/src/config/key-value-item.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\nimport type { FormProps } from 'ant-design-vue'\nimport type { FormColumn } from '@ll-plus/components'\nimport type { KeyType } from './'\n\nexport const typeRules = [\n {\n trigger: ['blur', 'change'],\n message: '此字段是必需的',\n validator: async (_rule: any, value: any) => {\n if (!value) {\n return Promise.reject(new Error('此字段是必需的'))\n } else {\n return Promise.resolve()\n }\n }\n }\n]\nexport const formOptions = {\n layout: 'horizontal',\n labelAlign: 'left'\n} as FormProps\n\nexport const formColumns = [\n {\n key: 'other',\n labelCol: {\n span: 24\n }\n }\n]\n\nexport interface KeyValueItem {\n key: any | null\n value: any | null\n}\n\nexport const keyValueItemProps = buildProps({\n disabled: {\n type: Boolean\n },\n disabledValue: {\n type: definePropType<number[]>(Array)\n },\n disabledKey: {\n type: definePropType<number[]>(Array)\n },\n disabledDelete: {\n type: definePropType<number[]>(Array)\n },\n keyValueType: {\n type: definePropType<'single' | 'doubt'>(String)\n },\n keyType: {\n type: definePropType<FormColumn>(Object)\n },\n keyTypes: {\n type: definePropType<KeyType[]>(Array)\n },\n valueType: {\n type: definePropType<FormColumn>(Object)\n },\n value: {\n type: definePropType<KeyValueItem>(Object),\n default: () => ({\n key: '',\n value: ''\n })\n },\n idx: {\n type: Number,\n required: true\n },\n keyValueTypeDict: {\n type: Object,\n default: () => ({})\n },\n showDelete: {\n type: Boolean,\n default: true\n }\n} as const)\n\nexport const keyValueItemEmits = {\n delete: () => true,\n change: () => true,\n 'update:value': (value: KeyValueItem) => !!value\n}\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AAKO,MAAM,SAAY,GAAA;AAAA,EACvB;AAAA,IACE,OAAA,EAAS,CAAC,MAAA,EAAQ,QAAQ,CAAA;AAAA,IAC1B,OAAS,EAAA,4CAAA;AAAA,IACT,SAAA,EAAW,OAAO,KAAA,EAAY,KAAe,KAAA;AAC3C,MAAA,IAAI,CAAC,KAAO,EAAA;AACV,QAAA,OAAO,OAAQ,CAAA,MAAA,CAAO,IAAI,KAAA,CAAM,4CAAS,CAAC,CAAA,CAAA;AAAA,OACrC,MAAA;AACL,QAAA,OAAO,QAAQ,OAAQ,EAAA,CAAA;AAAA,OACzB;AAAA,KACF;AAAA,GACF;AACF,EAAA;AACO,MAAM,WAAc,GAAA;AAAA,EACzB,MAAQ,EAAA,YAAA;AAAA,EACR,UAAY,EAAA,MAAA;AACd,EAAA;AAEO,MAAM,WAAc,GAAA;AAAA,EACzB;AAAA,IACE,GAAK,EAAA,OAAA;AAAA,IACL,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,EAAA;AAAA,KACR;AAAA,GACF;AACF,EAAA;AAOO,MAAM,oBAAoBA,kBAAW,CAAA;AAAA,EAC1C,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAMC,uBAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAMA,uBAAmC,MAAM,CAAA;AAAA,GACjD;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAMA,uBAA2B,MAAM,CAAA;AAAA,GACzC;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAMA,uBAA0B,KAAK,CAAA;AAAA,GACvC;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAMA,uBAA2B,MAAM,CAAA;AAAA,GACzC;AAAA,EACA,KAAO,EAAA;AAAA,IACL,IAAA,EAAMA,uBAA6B,MAAM,CAAA;AAAA,IACzC,SAAS,OAAO;AAAA,MACd,GAAK,EAAA,EAAA;AAAA,MACL,KAAO,EAAA,EAAA;AAAA,KACT,CAAA;AAAA,GACF;AAAA,EACA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,gBAAkB,EAAA;AAAA,IAChB,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF,CAAU,EAAA;AAEH,MAAM,iBAAoB,GAAA;AAAA,EAC/B,QAAQ,MAAM,IAAA;AAAA,EACd,QAAQ,MAAM,IAAA;AAAA,EACd,cAAgB,EAAA,CAAC,KAAwB,KAAA,CAAC,CAAC,KAAA;AAC7C;;;;;;;;"}
1
+ {"version":3,"file":"key-value-item.js","sources":["../../../../../../../packages/components/key-value/src/config/key-value-item.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\nimport type { FormProps } from 'ant-design-vue'\nimport type { FormColumn } from '@ll-plus/components'\nimport type { IKeyType, IKeyValueItem } from './key-value'\n\n// 定义 typeRules 常量\nexport const typeRules: Array<{\n trigger: string[]\n message: string\n validator: (_rule: any, value: any) => Promise<void>\n}> = [\n {\n trigger: ['blur', 'change'],\n message: '此字段是必需的',\n validator: async (_rule: any, value: any): Promise<void> => {\n if (!value) {\n return Promise.reject(new Error('此字段是必需的'))\n } else {\n return Promise.resolve()\n }\n }\n }\n]\n\n// 定义 formOptions 常量\nexport const formOptions: FormProps = {\n layout: 'horizontal',\n labelAlign: 'left'\n}\n\n// 定义 formColumns 常量\nexport const formColumns: Array<{\n key: string\n labelCol: {\n span: number\n }\n}> = [\n {\n key: 'other',\n labelCol: {\n span: 24\n }\n }\n]\n\n// 定义 keyValueItemProps 常量\nexport const keyValueItemProps = buildProps({\n disabled: {\n type: Boolean,\n default: false\n },\n values: {\n type: definePropType<IKeyValueItem[]>(Array),\n default: (): IKeyValueItem[] => [\n {\n key: null,\n value: null,\n guid: ''\n }\n ]\n },\n disabledValue: {\n type: definePropType<number[]>(Array),\n default: (): number[] => []\n },\n disabledKey: {\n type: definePropType<number[]>(Array),\n default: (): number[] => []\n },\n disabledDelete: {\n type: definePropType<number[]>(Array),\n default: (): number[] => []\n },\n keyValueType: {\n type: definePropType<'single' | 'doubt'>(String),\n default: 'doubt'\n },\n keyType: {\n type: definePropType<FormColumn>(Object),\n default: (): FormColumn => ({\n type: 'input',\n placeholder: '请输入Key'\n })\n },\n keyTypes: {\n type: definePropType<IKeyType[]>(Array),\n default: (): IKeyType[] => []\n },\n valueType: {\n type: definePropType<FormColumn>(Object),\n default: (): FormColumn => ({\n type: 'input',\n placeholder: '请输入Value'\n })\n },\n value: {\n type: definePropType<IKeyValueItem>(Object),\n default: (): IKeyValueItem => ({\n key: '',\n value: '',\n guid: ''\n })\n },\n idx: {\n type: Number,\n required: true\n },\n keyValueTypeDict: {\n type: Object as () => Record<string, string>,\n default: (): Record<string, string> => ({})\n },\n keepLast: {\n type: Boolean,\n default: false\n }\n} as const)\n\n// 定义 keyValueItemEmits 常量\nexport const keyValueItemEmits = {\n delete: (): boolean => true,\n change: (): boolean => true,\n 'update:value': (value: IKeyValueItem): boolean => !!value\n}\n"],"names":["buildProps","definePropType"],"mappings":"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"}
@@ -1,17 +1,19 @@
1
1
  'use strict';
2
2
 
3
3
  require('../../../../utils/index.js');
4
+ var data = require('../../../../utils/data.js');
4
5
  var runtime = require('../../../../utils/props/runtime.js');
5
6
 
6
7
  "use strict";
7
8
  const getKeyValueItem = () => ({
8
9
  key: null,
9
- value: null
10
+ value: null,
11
+ guid: data.guid()
10
12
  });
11
13
  const keyValueProps = runtime.buildProps({
12
14
  value: {
13
15
  type: runtime.definePropType(Array),
14
- default: () => [{ key: "", value: "" }]
16
+ default: () => [{ key: null, value: null }]
15
17
  },
16
18
  loading: {
17
19
  type: Boolean,
@@ -1 +1 @@
1
- {"version":3,"file":"key-value.js","sources":["../../../../../../../packages/components/key-value/src/config/key-value.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { KeyValueItem } from './key-value-item'\nimport type KeyValue from '../key-value.vue'\n\nexport interface KeyType {\n label: string\n value: string\n option: FormColumn\n}\n\ntype KeyValueType = 'single' | 'doubt'\n\nexport const getKeyValueItem = () => ({\n key: null,\n value: null\n})\n\nexport const keyValueProps = buildProps({\n value: {\n type: definePropType<KeyValueItem[]>(Array),\n default: () => [{ key: '', value: '' }]\n },\n loading: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n keyLabel: {\n type: String,\n default: ''\n },\n valueLabel: {\n type: String,\n default: ''\n },\n addText: {\n type: String,\n default: '添加'\n },\n keyValueType: {\n type: definePropType<KeyValueType>(String),\n default: 'doubt'\n },\n keyType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入Key'\n })\n },\n keyTypes: {\n type: definePropType<KeyType[]>(Array),\n default: () => []\n },\n valueType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入Value'\n })\n },\n disabledValue: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledKey: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledDelete: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledAdd: {\n type: Boolean,\n default: false\n },\n validate: {\n type: Boolean,\n default: false\n },\n keepLast: {\n type: Boolean,\n default: true\n }\n} as const)\n\nexport interface KeyValueAddEmits {\n index: number\n item: KeyValueItem\n value: KeyValueItem[]\n}\n\nexport const keyValueEmits = {\n change: (value: KeyValueItem[]) => !!value,\n add: (params: KeyValueAddEmits) => !!params,\n delete: (index: number) => typeof index === 'number',\n 'update:value': (value: KeyValueItem[]) => !!value\n}\n\n// props\nexport type KeyValueProps = ExtractPropTypes<typeof keyValueProps>\n// emits\nexport type KeyValueEmits = typeof keyValueEmits\n// instance\nexport type KeyValueInstance = InstanceType<typeof KeyValue>\n"],"names":["buildProps","definePropType"],"mappings":";;;;;;AAeO,MAAM,kBAAkB,OAAO;AAAA,EACpC,GAAK,EAAA,IAAA;AAAA,EACL,KAAO,EAAA,IAAA;AACT,CAAA,EAAA;AAEO,MAAM,gBAAgBA,kBAAW,CAAA;AAAA,EACtC,KAAO,EAAA;AAAA,IACL,IAAA,EAAMC,uBAA+B,KAAK,CAAA;AAAA,IAC1C,OAAA,EAAS,MAAM,CAAC,EAAE,KAAK,EAAI,EAAA,KAAA,EAAO,IAAI,CAAA;AAAA,GACxC;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,cAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAMA,uBAA6B,MAAM,CAAA;AAAA,IACzC,OAAS,EAAA,OAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAMA,uBAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,uBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAMA,uBAA0B,KAAK,CAAA;AAAA,IACrC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAMA,uBAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,yBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAA,EAAMA,uBAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF,CAAU,EAAA;AAQH,MAAM,aAAgB,GAAA;AAAA,EAC3B,MAAQ,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAAA,EACrC,GAAK,EAAA,CAAC,MAA6B,KAAA,CAAC,CAAC,MAAA;AAAA,EACrC,MAAQ,EAAA,CAAC,KAAkB,KAAA,OAAO,KAAU,KAAA,QAAA;AAAA,EAC5C,cAAgB,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAC/C;;;;;;"}
1
+ {"version":3,"file":"key-value.js","sources":["../../../../../../../packages/components/key-value/src/config/key-value.ts"],"sourcesContent":["import { buildProps, definePropType, guid } from '@ll-plus/utils'\nimport type { ExtractPropTypes } from 'vue'\nimport { type FormColumn } from '@ll-plus/components'\nimport type KeyValue from '../key-value.vue'\n\n// 定义 IKeyType 接口\nexport interface IKeyType {\n label: string\n value: string\n option: FormColumn\n}\n\n// 定义 IKeyValueReturn 接口\nexport interface IKeyValueReturn {\n key: any | null\n value: any | null\n}\n\n// 定义 IKeyValueItem 类型\nexport type IKeyValueItem = IKeyValueReturn & { guid: string }\n\n// 定义 IKeyValueType 类型\ntype IKeyValueType = 'single' | 'doubt'\n\n// 定义 getKeyValueItem 函数\nexport const getKeyValueItem = (): IKeyValueItem => ({\n key: null,\n value: null,\n guid: guid()\n})\n\n// 定义 keyValueProps 常量\nexport const keyValueProps = buildProps({\n value: {\n type: definePropType<IKeyValueReturn[]>(Array),\n default: (): IKeyValueReturn[] => [{ key: null, value: null }]\n },\n loading: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n keyLabel: {\n type: String,\n default: ''\n },\n valueLabel: {\n type: String,\n default: ''\n },\n addText: {\n type: String,\n default: '添加'\n },\n keyValueType: {\n type: definePropType<IKeyValueType>(String),\n default: 'doubt'\n },\n keyType: {\n type: definePropType<FormColumn>(Object),\n default: (): FormColumn => ({\n type: 'input',\n placeholder: '请输入Key'\n })\n },\n keyTypes: {\n type: definePropType<IKeyType[]>(Array),\n default: (): IKeyType[] => []\n },\n valueType: {\n type: definePropType<FormColumn>(Object),\n default: (): FormColumn => ({\n type: 'input',\n placeholder: '请输入Value'\n })\n },\n disabledValue: {\n type: definePropType<number[]>(Array),\n default: (): number[] => []\n },\n disabledKey: {\n type: definePropType<number[]>(Array),\n default: (): number[] => []\n },\n disabledDelete: {\n type: definePropType<number[]>(Array),\n default: (): number[] => []\n },\n disabledAdd: {\n type: Boolean,\n default: false\n },\n validate: {\n type: Boolean,\n default: false\n },\n keepLast: {\n type: Boolean,\n default: true\n }\n} as const)\n\n// 定义 IKeyValueAddEmits 接口\nexport interface IKeyValueAddEmits {\n index: number\n item: IKeyValueItem\n value: IKeyValueItem[]\n}\n\n// 定义 keyValueEmits 常量\nexport const keyValueEmits = {\n change: (value: IKeyValueReturn[]): boolean => !!value,\n add: (params: IKeyValueAddEmits): boolean => !!params,\n delete: (index: number): boolean => typeof index === 'number',\n 'update:value': (value: IKeyValueReturn[]): boolean => !!value\n}\n\n// 定义 KeyValueProps 类型\nexport type KeyValueProps = ExtractPropTypes<typeof keyValueProps>\n// 定义 KeyValueEmits 类型\nexport type KeyValueEmits = typeof keyValueEmits\n// 定义 KeyValueInstance 类型\nexport type KeyValueInstance = InstanceType<typeof KeyValue>\n"],"names":["guid","buildProps","definePropType"],"mappings":"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"}
@@ -9,6 +9,7 @@ require('./config/index.js');
9
9
  var keyValueItem = require('./components/key-value-item.vue.js');
10
10
  var keyValue = require('./config/key-value.js');
11
11
  var createNamespace = require('../../../utils/create-namespace.js');
12
+ var data = require('../../../utils/data.js');
12
13
 
13
14
  "use strict";
14
15
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
@@ -21,69 +22,132 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
21
22
  const emits = __emit;
22
23
  const bem = createNamespace.createNamespace("key-value");
23
24
  const formItemContext = antDesignVue.Form.useInjectFormItemContext();
24
- const innerValue = vue.ref([]);
25
- const keyValueItems = vue.ref([]);
25
+ const innerValue = vue.ref(
26
+ !props.value || props.value && !props.value.length ? [{ key: null, value: null, guid: data.guid() }] : props.value.map((e) => {
27
+ return {
28
+ ...e,
29
+ guid: data.guid()
30
+ };
31
+ })
32
+ );
33
+ const keyValueItems = vue.ref({});
34
+ const setKeyValueItems = (el, type) => {
35
+ if (el) {
36
+ keyValueItems.value[type] = el;
37
+ }
38
+ };
26
39
  const keyValueTypeDict = vue.computed(() => {
27
40
  const obj = {};
28
- props.keyTypes.map((e) => {
41
+ props.keyTypes.forEach((e) => {
29
42
  obj[e.value] = e.option;
30
43
  });
31
44
  return obj;
32
45
  });
33
46
  const validate = async () => {
34
47
  await vue.nextTick();
35
- return Promise.all(
36
- keyValueItems.value.filter((e) => !!e).map((e) => e.validate())
48
+ const validationPromises = Object.values(keyValueItems.value).map(
49
+ async (item) => {
50
+ try {
51
+ await item.validate();
52
+ return { item, valid: true };
53
+ } catch (error) {
54
+ console.error("Validation failed for item:", item, error);
55
+ return { item, valid: false, error };
56
+ }
57
+ }
37
58
  );
59
+ const validationResults = await Promise.all(validationPromises);
60
+ const allValid = validationResults.every((result) => result.valid);
61
+ const errors = validationResults.filter((result) => !result.valid);
62
+ if (!allValid) {
63
+ console.log("Validation errors:", errors);
64
+ return { valid: false, errors };
65
+ }
66
+ return { valid: true };
38
67
  };
39
68
  const resetFields = async () => {
40
69
  await vue.nextTick();
41
- return Promise.all(
42
- keyValueItems.value.filter((e) => !!e).map((e) => e.resetFields())
43
- );
70
+ for (const i of Object.values(keyValueItems.value)) {
71
+ if (i) {
72
+ i.resetFields();
73
+ }
74
+ }
44
75
  };
45
76
  const clearValidate = async () => {
46
77
  await vue.nextTick();
47
- return Promise.all(
48
- keyValueItems.value.filter((e) => !!e).map((e) => e.clearValidate())
49
- );
78
+ for (const i of Object.values(keyValueItems.value)) {
79
+ if (i) {
80
+ i.clearValidate();
81
+ }
82
+ }
50
83
  };
51
84
  const handleAddItem = async () => {
52
- const valid = await validate();
53
- if (props.validate && !valid)
54
- return false;
85
+ const { valid } = await validate();
86
+ if (!valid)
87
+ return;
55
88
  innerValue.value.push(keyValue.getKeyValueItem());
56
89
  emits("add", {
57
90
  index: innerValue.value.length - 1,
58
91
  item: innerValue.value[innerValue.value.length - 1],
59
92
  value: innerValue.value
60
93
  });
61
- handleChange();
62
94
  };
63
95
  const handleDelete = (idx) => {
64
- innerValue.value.splice(idx, 1);
65
- emits("delete", idx);
66
- handleChange();
67
- };
68
- const handleChange = () => {
69
- try {
70
- formItemContext.onFieldChange();
71
- emits("change", innerValue.value);
72
- emits("update:value", innerValue.value);
73
- } catch (error) {
74
- console.error(error);
96
+ if (innerValue.value.length === 1) {
97
+ innerValue.value = [{ key: null, value: null, guid: data.guid() }];
98
+ } else {
99
+ innerValue.value.splice(idx, 1);
100
+ emits("delete", idx);
75
101
  }
76
102
  };
103
+ const getValue = (val) => {
104
+ return val.filter((e) => data.hasValue(e.key) || data.hasValue(e.value)).map((e) => ({
105
+ key: e.key,
106
+ value: e.value
107
+ }));
108
+ };
77
109
  vue.watch(
78
110
  () => props.value,
79
111
  (n) => {
80
- innerValue.value = n && n.length > 0 ? n : props.keepLast ? [{ key: null, value: null }] : n;
112
+ if (!n || n && !n.length)
113
+ return;
114
+ const copyInnerValue = getValue(innerValue.value);
115
+ const copyPropsValue = getValue(n);
116
+ if (data.deepCompare(copyInnerValue, copyPropsValue))
117
+ return;
118
+ innerValue.value = [
119
+ ...n && n.length > 0 ? n : props.keepLast ? [{ key: null, value: null, guid: data.guid() }] : n
120
+ ].map((e) => {
121
+ return {
122
+ ...e,
123
+ guid: data.guid()
124
+ };
125
+ });
81
126
  },
82
127
  {
83
128
  immediate: true,
84
129
  deep: true
85
130
  }
86
131
  );
132
+ vue.watch(
133
+ () => innerValue.value,
134
+ (val) => {
135
+ const copyInnerValue = getValue(val);
136
+ const copyPropsValue = getValue(props.value);
137
+ if (data.deepCompare(copyInnerValue, copyPropsValue))
138
+ return;
139
+ try {
140
+ formItemContext.onFieldChange();
141
+ emits("change", copyInnerValue);
142
+ emits("update:value", copyInnerValue);
143
+ } catch (error) {
144
+ console.error(error);
145
+ }
146
+ },
147
+ {
148
+ deep: true
149
+ }
150
+ );
87
151
  __expose({
88
152
  validate,
89
153
  resetFields,
@@ -115,9 +179,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
115
179
  null,
116
180
  vue.renderList(innerValue.value, (_item, idx) => {
117
181
  return vue.openBlock(), vue.createBlock(keyValueItem.default, {
118
- key: _item,
182
+ key: _item.guid,
119
183
  ref_for: true,
120
- ref: (el) => keyValueItems.value[idx] = el,
184
+ ref: (el) => setKeyValueItems(el, _item.guid),
121
185
  value: innerValue.value[idx],
122
186
  "onUpdate:value": ($event) => innerValue.value[idx] = $event,
123
187
  idx,
@@ -128,13 +192,13 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
128
192
  "key-type": props.keyType,
129
193
  "key-types": props.keyTypes,
130
194
  "value-type": props.valueType,
195
+ values: innerValue.value,
131
196
  disabled: props.disabled,
132
197
  "disabled-value": props.disabledValue,
133
198
  "disabled-key": props.disabledKey,
134
199
  "disabled-delete": props.disabledDelete,
135
- "show-delete": props.keepLast ? idx > 0 : true,
136
- onDelete: ($event) => handleDelete(idx),
137
- onChange: handleChange
200
+ "keep-last": props.keepLast,
201
+ onDelete: ($event) => handleDelete(idx)
138
202
  }, vue.createSlots({
139
203
  _: 2
140
204
  /* DYNAMIC */
@@ -147,7 +211,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
147
211
  ])
148
212
  };
149
213
  })
150
- ]), 1032, ["value", "onUpdate:value", "idx", "key-label", "value-label", "key-value-type-dict", "key-value-type", "key-type", "key-types", "value-type", "disabled", "disabled-value", "disabled-key", "disabled-delete", "show-delete", "onDelete"]);
214
+ ]), 1032, ["value", "onUpdate:value", "idx", "key-label", "value-label", "key-value-type-dict", "key-value-type", "key-type", "key-types", "value-type", "values", "disabled", "disabled-value", "disabled-key", "disabled-delete", "keep-last", "onDelete"]);
151
215
  }),
152
216
  128
153
217
  /* KEYED_FRAGMENT */