fast-element-plus 1.0.7 → 1.0.10

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 (182) hide show
  1. package/dist/index.full.js +894 -757
  2. package/dist/index.full.js.map +1 -1
  3. package/dist/index.full.min.js +1 -1
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +1 -1
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +894 -757
  8. package/dist/index.full.mjs.map +1 -1
  9. package/dist/styles/index.css +41 -23
  10. package/dist/styles/index.css.map +1 -1
  11. package/es/components/avatar/src/avatar.d.ts +4 -4
  12. package/es/components/avatar/src/avatar.mjs +1 -1
  13. package/es/components/avatar/src/avatar.mjs.map +1 -1
  14. package/es/components/button/src/button.mjs.map +1 -1
  15. package/es/components/carNumber/src/carNumber.d.ts +13 -5
  16. package/es/components/carNumber/src/carNumber.mjs +1 -1
  17. package/es/components/carNumber/src/carNumber.mjs.map +1 -1
  18. package/es/components/contextMenu/src/contextMenu.mjs +1 -1
  19. package/es/components/contextMenu/src/contextMenu.mjs.map +1 -1
  20. package/es/components/dialog/src/dialog.d.ts +4 -4
  21. package/es/components/dialog/src/dialog.mjs +1 -1
  22. package/es/components/dialog/src/dialog.mjs.map +1 -1
  23. package/es/components/drawer/src/drawer.d.ts +12 -4
  24. package/es/components/drawer/src/drawer.mjs +1 -1
  25. package/es/components/drawer/src/drawer.mjs.map +1 -1
  26. package/es/components/form/src/form.mjs +1 -1
  27. package/es/components/form/src/form.mjs.map +1 -1
  28. package/es/components/form/src/formItem.mjs +1 -1
  29. package/es/components/form/src/formItem.mjs.map +1 -1
  30. package/es/components/formItemTip/src/formItemTip.mjs +1 -1
  31. package/es/components/formItemTip/src/formItemTip.mjs.map +1 -1
  32. package/es/components/icon/src/icon.mjs +1 -1
  33. package/es/components/icon/src/icon.mjs.map +1 -1
  34. package/es/components/iconSelector/src/iconSelector.mjs +1 -1
  35. package/es/components/iconSelector/src/iconSelector.mjs.map +1 -1
  36. package/es/components/image/src/image.mjs +1 -1
  37. package/es/components/image/src/image.mjs.map +1 -1
  38. package/es/components/index.d.ts +1 -0
  39. package/es/components/index.mjs +1 -1
  40. package/es/components/inputDialogPage/index.d.ts +14 -0
  41. package/es/components/inputDialogPage/index.mjs +2 -0
  42. package/es/components/inputDialogPage/index.mjs.map +1 -0
  43. package/es/components/inputDialogPage/src/inputDialogPage.d.ts +131 -0
  44. package/es/components/inputDialogPage/src/inputDialogPage.mjs +2 -0
  45. package/es/components/inputDialogPage/src/inputDialogPage.mjs.map +1 -0
  46. package/es/components/layoutGrid/src/layoutGrid.mjs +1 -1
  47. package/es/components/layoutGrid/src/layoutGrid.mjs.map +1 -1
  48. package/es/components/layoutGrid/src/layoutGridItem.d.ts +6 -6
  49. package/es/components/layoutGrid/src/layoutGridItem.mjs +1 -1
  50. package/es/components/layoutGrid/src/layoutGridItem.mjs.map +1 -1
  51. package/es/components/select/src/select.d.ts +39 -34
  52. package/es/components/select/src/select.mjs +1 -1
  53. package/es/components/select/src/select.mjs.map +1 -1
  54. package/es/components/select/src/selectOption.mjs +1 -1
  55. package/es/components/select/src/selectOption.mjs.map +1 -1
  56. package/es/components/selectPage/src/selectPage.d.ts +39 -25
  57. package/es/components/selectPage/src/selectPage.mjs +1 -1
  58. package/es/components/selectPage/src/selectPage.mjs.map +1 -1
  59. package/es/components/selectV2/src/selectV2.d.ts +36 -44
  60. package/es/components/selectV2/src/selectV2.mjs +1 -1
  61. package/es/components/selectV2/src/selectV2.mjs.map +1 -1
  62. package/es/components/table/src/table.d.ts +6 -6
  63. package/es/components/table/src/table.mjs +1 -1
  64. package/es/components/table/src/table.mjs.map +1 -1
  65. package/es/components/table/src/table.type.d.ts +1 -1
  66. package/es/components/table/src/table.type.mjs.map +1 -1
  67. package/es/components/table/src/tableColumn.mjs +1 -1
  68. package/es/components/table/src/tableColumn.mjs.map +1 -1
  69. package/es/components/table/src/tableColumnSettingDialog.mjs +1 -1
  70. package/es/components/table/src/tableColumnSettingDialog.mjs.map +1 -1
  71. package/es/components/table/src/useTable.mjs +1 -1
  72. package/es/components/table/src/useTable.mjs.map +1 -1
  73. package/es/components/table/utils/table.mjs +1 -1
  74. package/es/components/table/utils/table.mjs.map +1 -1
  75. package/es/components/tree/src/tree.d.ts +68 -174
  76. package/es/components/tree/src/tree.mjs +1 -1
  77. package/es/components/tree/src/tree.mjs.map +1 -1
  78. package/es/components/treeSelect/src/treeSelect.d.ts +123 -221
  79. package/es/components/treeSelect/src/treeSelect.mjs +1 -1
  80. package/es/components/treeSelect/src/treeSelect.mjs.map +1 -1
  81. package/es/directives/click-copy/index.mjs.map +1 -1
  82. package/es/directives/click-debounce/index.mjs.map +1 -1
  83. package/es/directives/click-draggable/index.mjs.map +1 -1
  84. package/es/directives/click-icon-copy/index.mjs.map +1 -1
  85. package/es/directives/click-longpress/index.mjs.map +1 -1
  86. package/es/directives/click-throttle/index.mjs.map +1 -1
  87. package/es/index.mjs +1 -1
  88. package/es/index.mjs.map +1 -1
  89. package/es/make-installer.mjs +1 -1
  90. package/es/make-installer.mjs.map +1 -1
  91. package/es/version.d.ts +1 -1
  92. package/es/version.mjs +1 -1
  93. package/es/version.mjs.map +1 -1
  94. package/lib/components/avatar/src/avatar.d.ts +4 -4
  95. package/lib/components/avatar/src/avatar.js +1 -1
  96. package/lib/components/avatar/src/avatar.js.map +1 -1
  97. package/lib/components/button/src/button.js.map +1 -1
  98. package/lib/components/carNumber/src/carNumber.d.ts +13 -5
  99. package/lib/components/carNumber/src/carNumber.js +1 -1
  100. package/lib/components/carNumber/src/carNumber.js.map +1 -1
  101. package/lib/components/contextMenu/src/contextMenu.js +1 -1
  102. package/lib/components/contextMenu/src/contextMenu.js.map +1 -1
  103. package/lib/components/dialog/src/dialog.d.ts +4 -4
  104. package/lib/components/dialog/src/dialog.js +1 -1
  105. package/lib/components/dialog/src/dialog.js.map +1 -1
  106. package/lib/components/drawer/src/drawer.d.ts +12 -4
  107. package/lib/components/drawer/src/drawer.js +1 -1
  108. package/lib/components/drawer/src/drawer.js.map +1 -1
  109. package/lib/components/form/src/form.js +1 -1
  110. package/lib/components/form/src/form.js.map +1 -1
  111. package/lib/components/form/src/formItem.js +1 -1
  112. package/lib/components/form/src/formItem.js.map +1 -1
  113. package/lib/components/formItemTip/src/formItemTip.js +1 -1
  114. package/lib/components/formItemTip/src/formItemTip.js.map +1 -1
  115. package/lib/components/icon/src/icon.js +1 -1
  116. package/lib/components/icon/src/icon.js.map +1 -1
  117. package/lib/components/iconSelector/src/iconSelector.js +1 -1
  118. package/lib/components/iconSelector/src/iconSelector.js.map +1 -1
  119. package/lib/components/image/src/image.js +1 -1
  120. package/lib/components/image/src/image.js.map +1 -1
  121. package/lib/components/index.d.ts +1 -0
  122. package/lib/components/index.js +1 -1
  123. package/lib/components/inputDialogPage/index.d.ts +14 -0
  124. package/lib/components/inputDialogPage/index.js +2 -0
  125. package/lib/components/inputDialogPage/index.js.map +1 -0
  126. package/lib/components/inputDialogPage/src/inputDialogPage.d.ts +131 -0
  127. package/lib/components/inputDialogPage/src/inputDialogPage.js +2 -0
  128. package/lib/components/inputDialogPage/src/inputDialogPage.js.map +1 -0
  129. package/lib/components/layoutGrid/src/layoutGrid.js +1 -1
  130. package/lib/components/layoutGrid/src/layoutGrid.js.map +1 -1
  131. package/lib/components/layoutGrid/src/layoutGridItem.d.ts +6 -6
  132. package/lib/components/layoutGrid/src/layoutGridItem.js +1 -1
  133. package/lib/components/layoutGrid/src/layoutGridItem.js.map +1 -1
  134. package/lib/components/select/src/select.d.ts +39 -34
  135. package/lib/components/select/src/select.js +1 -1
  136. package/lib/components/select/src/select.js.map +1 -1
  137. package/lib/components/select/src/selectOption.js +1 -1
  138. package/lib/components/select/src/selectOption.js.map +1 -1
  139. package/lib/components/selectPage/src/selectPage.d.ts +39 -25
  140. package/lib/components/selectPage/src/selectPage.js +1 -1
  141. package/lib/components/selectPage/src/selectPage.js.map +1 -1
  142. package/lib/components/selectV2/src/selectV2.d.ts +36 -44
  143. package/lib/components/selectV2/src/selectV2.js +1 -1
  144. package/lib/components/selectV2/src/selectV2.js.map +1 -1
  145. package/lib/components/table/src/table.d.ts +6 -6
  146. package/lib/components/table/src/table.js +1 -1
  147. package/lib/components/table/src/table.js.map +1 -1
  148. package/lib/components/table/src/table.type.d.ts +1 -1
  149. package/lib/components/table/src/table.type.js.map +1 -1
  150. package/lib/components/table/src/tableColumn.js +1 -1
  151. package/lib/components/table/src/tableColumn.js.map +1 -1
  152. package/lib/components/table/src/tableColumnSettingDialog.js +1 -1
  153. package/lib/components/table/src/tableColumnSettingDialog.js.map +1 -1
  154. package/lib/components/table/src/useTable.js.map +1 -1
  155. package/lib/components/table/utils/table.js +1 -1
  156. package/lib/components/table/utils/table.js.map +1 -1
  157. package/lib/components/tree/src/tree.d.ts +68 -174
  158. package/lib/components/tree/src/tree.js +1 -1
  159. package/lib/components/tree/src/tree.js.map +1 -1
  160. package/lib/components/treeSelect/src/treeSelect.d.ts +123 -221
  161. package/lib/components/treeSelect/src/treeSelect.js +1 -1
  162. package/lib/components/treeSelect/src/treeSelect.js.map +1 -1
  163. package/lib/directives/click-copy/index.js.map +1 -1
  164. package/lib/directives/click-debounce/index.js.map +1 -1
  165. package/lib/directives/click-draggable/index.js.map +1 -1
  166. package/lib/directives/click-icon-copy/index.js.map +1 -1
  167. package/lib/directives/click-longpress/index.js.map +1 -1
  168. package/lib/directives/click-throttle/index.js.map +1 -1
  169. package/lib/index.js +1 -1
  170. package/lib/index.js.map +1 -1
  171. package/lib/make-installer.js.map +1 -1
  172. package/lib/version.d.ts +1 -1
  173. package/lib/version.js +1 -1
  174. package/lib/version.js.map +1 -1
  175. package/package.json +3 -3
  176. package/styles/components/dialog.scss +1 -1
  177. package/styles/components/select.scss +35 -0
  178. package/styles/components/selectPage.scss +0 -30
  179. package/styles/components/table.scss +1 -1
  180. package/styles/components/tree.scss +17 -2
  181. package/styles/index.scss +1 -0
  182. package/types/components.d.ts +110 -1
@@ -1 +1 @@
1
- {"version":3,"file":"selectPage.js","sources":["../../../../../packages/components/selectPage/src/selectPage.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElButton, ElInput, ElOption, ElPagination, ElSelect, useGlobalSize } from \"element-plus\";\nimport { Search } from \"@element-plus/icons-vue\";\nimport { FaSelectOption, SelectProps } from \"@fast-element-plus/components/select\";\nimport { type SelectComponentProps } from \"@fast-element-plus/components/select/src/select\";\nimport { addUnit, consoleError, definePropType, makeSlots, useExpose, useProps, useRender, withDefineType } from \"@fast-china/utils\";\nimport { useVModel } from \"@vueuse/core\";\nimport { isArray, isBoolean, isEqual, isFunction, isNil, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport type { ElSelectorOutput } from \"@fast-element-plus/components/select\";\nimport type { PagedInput, PagedResult } from \"@fast-element-plus/components/table\";\nimport type { VNode } from \"vue\";\n\nexport const faSelectPageProps = {\n\t...SelectProps,\n\t/** @description displayed text while loading data from server, default is 'Loading' */\n\tloadingText: {\n\t\ttype: String,\n\t\tdefault: \"加载中...\",\n\t},\n\t/** @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data' */\n\tnoMatchText: {\n\t\ttype: String,\n\t\tdefault: \"暂无匹配的数据\",\n\t},\n\t/** @description displayed text when there is no options, you can also use slot `empty`, default is 'No data' */\n\tnoDataText: {\n\t\ttype: String,\n\t\tdefault: \"暂无数据\",\n\t},\n\t/** @description whether to collapse tags to a text when multiple selecting */\n\tcollapseTags: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true */\n\tcollapseTagsTooltip: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description v-model绑定值 */\n\tmodelValue: {\n\t\ttype: definePropType<string | number | boolean | object | (string | number | boolean | object)[]>([String, Number, Boolean, Object, Array]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: definePropType<string | string[]>([String, Array]),\n\t/** @description 宽度 */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"100%\",\n\t},\n\t/** @description 更多细节,只有使用slot的时候有用 */\n\tmoreDetail: Boolean,\n\t/** @description 配置选项 */\n\tprops: {\n\t\ttype: definePropType<SelectComponentProps>(Object),\n\t\tdefault: (): Partial<SelectComponentProps> => ({\n\t\t\tlabel: \"label\",\n\t\t\thide: \"hide\",\n\t\t\tdisabled: \"disabled\",\n\t\t\tchildren: \"children\",\n\t\t}),\n\t},\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<(params?: PagedInput) => Promise<PagedResult<ElSelectorOutput>>>(Function),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n};\n\nexport const faSelectPageEmits = {\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: string | number | boolean | object | (string | number | boolean | object)[]): boolean =>\n\t\tisString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value),\n\t/** @description v-model:label 回调 */\n\t\"update:label\": (value: string | string[]): boolean => isString(value) || isArray(value) || isNull(value),\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElSelectorOutput[] | any[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (\n\t\tdata: ElSelectorOutput | ElSelectorOutput[] | any | any[],\n\t\tvalue?: string | number | boolean | object | (string | number | boolean | object)[]\n\t): boolean =>\n\t\t(isObject(data) || isArray(data) || isNull(data)) &&\n\t\t(isString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value)),\n\t/** @description 下拉框出现/隐藏时触发 */\n\tvisibleChange: (visible: boolean): boolean => isBoolean(visible),\n\t/** @description 多选模式下移除tag时触发 */\n\tremoveTag: (tagValue: any): boolean => isString(tagValue) || isNumber(tagValue) || isBoolean(tagValue) || isObject(tagValue) || isArray(tagValue),\n\t/** @description 可清空的单选模式下用户点击清空按钮时触发 */\n\tclear: (): boolean => true,\n\t/** @description 当 input 失去焦点时触发 */\n\tblur: (event: FocusEvent): boolean => event instanceof FocusEvent,\n\t/** @description 当 input 获得焦点时触发 */\n\tfocus: (event: FocusEvent): boolean => event instanceof FocusEvent,\n};\n\ntype FaSelectPageSlots = {\n\t/** @description FaSelectOption 默认内容插槽 */\n\tdefault: ElSelectorOutput;\n\t/** @description 下拉列表顶部的内容 */\n\theader: never;\n\t/** @description 下拉列表底部的内容 */\n\tfooter: never;\n\t/** @description Select 组件头部内容 */\n\tprefix: never;\n\t/** @description 无选项时的列表 */\n\tempty: never;\n\t/** @description select 组件自定义标签内容 */\n\ttag: never;\n\t/** @description select 组件自定义 loading内容 */\n\tloading: never;\n\t/** @description select 组件自定义标签内容 */\n\tlabel: { label: string; value: string | number | boolean | object };\n};\n\nexport default defineComponent({\n\tname: \"FaSelectPage\",\n\tprops: faSelectPageProps,\n\temits: faSelectPageEmits,\n\tslots: makeSlots<FaSelectPageSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst selectedLabel = useVModel(props, \"label\", emit, { passive: true });\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tvalue: withDefineType<string | number | boolean | object | (string | number | boolean | object)[]>(),\n\t\t\tloading: false,\n\t\t\tselectorData: withDefineType<ElSelectorOutput[]>([]),\n\t\t\t/** 选中的数据 */\n\t\t\tselectedList: withDefineType<ElSelectorOutput[]>([]),\n\t\t\t/** 首次出现 */\n\t\t\tdebut: true,\n\t\t\t/** 回显 */\n\t\t\techo: true,\n\t\t\t/** 下次刷新 */\n\t\t\tnextRefresh: false,\n\t\t\tpageIndex: 1,\n\t\t\tpageSize: 15,\n\t\t\ttotalRows: 0,\n\t\t\tsearchValue: undefined,\n\t\t\tdefaultSelectorData: withDefineType<ElSelectorOutput>(),\n\t\t});\n\n\t\tconst selectRef = ref<InstanceType<typeof ElSelect>>();\n\n\t\tconst handleData = (data: ElSelectorOutput[]): ElSelectorOutput[] => {\n\t\t\treturn data\n\t\t\t\t?.map((m) => ({\n\t\t\t\t\t...m,\n\t\t\t\t\tvalue: m[props.valueKey],\n\t\t\t\t\tlabel: isFunction(props.props.label) ? props.props.label(m) : m[props.props.label ?? \"label\"],\n\t\t\t\t\thide: isFunction(props.props.hide) ? props.props.hide(m) : m[props.props.hide ?? \"hide\"],\n\t\t\t\t\tdisabled: isFunction(props.props.disabled) ? props.props.disabled(m) : m[props.props.disabled ?? \"disabled\"],\n\t\t\t\t\tchildren: isFunction(props.props.children)\n\t\t\t\t\t\t? handleData(props.props.children(m))\n\t\t\t\t\t\t: handleData(m[props.props.children ?? \"children\"]),\n\t\t\t\t}))\n\t\t\t\t.filter((f) => !f.hide);\n\t\t};\n\n\t\tconst loadData = async (pageIndex?: number): Promise<void> => {\n\t\t\tstate.loading = true;\n\t\t\tstate.pageIndex = pageIndex ?? state.pageIndex;\n\t\t\tconst params: PagedInput = {\n\t\t\t\t...(props.initParam ?? {}),\n\t\t\t\tpageIndex: state.pageIndex,\n\t\t\t\tpageSize: state.pageSize,\n\t\t\t\tsearchValue: state.searchValue,\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t// 这里不允许回显了\n\t\t\t\tstate.echo = false;\n\t\t\t\tstate.totalRows = resData.totalRows;\n\t\t\t\tstate.selectorData = handleData(resData.rows);\n\t\t\t\temit(\"dataChangeCallBack\", state.selectorData);\n\t\t\t} catch (error) {\n\t\t\t\tconsoleError(\"FaSelectPage\", error);\n\t\t\t\tstate.pageIndex = 1;\n\t\t\t\tstate.totalRows = 0;\n\t\t\t\tstate.selectorData = [];\n\t\t\t} finally {\n\t\t\t\tstate.loading = false;\n\t\t\t}\n\t\t};\n\n\t\tconst handleChange = (value?: string | number | boolean | object | (string | number | boolean | object)[]): void => {\n\t\t\t// 判断是否为多选\n\t\t\tif (props.multiple) {\n\t\t\t\t// value 必然是数组\n\t\t\t\tconst valueArr = value as (string | number | boolean | object)[];\n\t\t\t\tif (valueArr?.length === 0) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\tstate.selectedList = [];\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst dataList = state.selectorData.filter((f) => valueArr.includes(f.value));\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = dataList.map((m) => m.label);\n\t\t\t\tstate.selectedList = [...state.selectedList.filter((f) => !dataList.some((s) => s.value === f.value)), ...dataList]\n\t\t\t\t\t// 过滤不存在的\n\t\t\t\t\t.filter((f) => valueArr.includes(f.value));\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", dataList, value);\n\t\t\t} else {\n\t\t\t\t// value 必然不是数组\n\t\t\t\tif (isNil(value)) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\tstate.selectedList = [];\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst data = state.selectorData.find((f) => f.value === value);\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = data.label;\n\t\t\t\tif (!state.selectedList.some((s) => s.value === value)) {\n\t\t\t\t\tstate.selectedList = [data];\n\t\t\t\t}\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", data, value);\n\t\t\t}\n\t\t};\n\n\t\tconst handleClear = (): void => {\n\t\t\tstate.value = null;\n\t\t\tselectedLabel.value = null;\n\t\t\tstate.selectedList = [];\n\t\t\temit(\"clear\");\n\t\t};\n\n\t\tconst handleVisibleChange = async (visible: boolean): Promise<void> => {\n\t\t\tif (visible) {\n\t\t\t\tif (state.debut) {\n\t\t\t\t\t// 首次出现\n\t\t\t\t\tstate.debut = false;\n\t\t\t\t\tawait loadData();\n\t\t\t\t} else {\n\t\t\t\t\t// 判断再次出现是否需要刷新数据\n\t\t\t\t\tif (state.nextRefresh) {\n\t\t\t\t\t\tstate.nextRefresh = false;\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"visibleChange\", visible);\n\t\t};\n\n\t\twatch(\n\t\t\t() => props.modelValue,\n\t\t\t(newValue) => {\n\t\t\t\tif (state.echo && !isNil(newValue)) {\n\t\t\t\t\tconst hasLabel = !isNil(props.label);\n\t\t\t\t\t// 判断是否为多选\n\t\t\t\t\tif (props.multiple) {\n\t\t\t\t\t\tif (!isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectPage\", \"当启用 multiple 时,传入的 modelValue 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && !isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectPage\", \"当启用 multiple 时,传入的 modelValue:label 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectedList = newValue\n\t\t\t\t\t\t\t// 最大选项截取\n\t\t\t\t\t\t\t.slice(0, props.multipleLimit > 0 ? props.multipleLimit : newValue.length)\n\t\t\t\t\t\t\t.map((item, index) => ({\n\t\t\t\t\t\t\t\tvalue: item,\n\t\t\t\t\t\t\t\tlabel: hasLabel ? props.label[index] : undefined,\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectPage\", \"当禁用 multiple 时,传入的 modelValue 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectPage\", \"当禁用 multiple 时,传入的 modelValue:label 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.defaultSelectorData = {\n\t\t\t\t\t\t\tvalue: newValue,\n\t\t\t\t\t\t\tlabel: props.label,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstate.value = newValue;\n\t\t\t},\n\t\t\t{\n\t\t\t\timmediate: true,\n\t\t\t}\n\t\t);\n\n\t\tonMounted(() => {\n\t\t\twatch(\n\t\t\t\t() => props.initParam,\n\t\t\t\t(newValue, oldValue) => {\n\t\t\t\t\tif (!isEqual(newValue, oldValue)) {\n\t\t\t\t\t\tstate.nextRefresh = true;\n\t\t\t\t\t\tif (!isNil(state.value)) {\n\t\t\t\t\t\t\thandleChange();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\n\t\tconst elSelectProps = useProps(props, SelectProps, [\"modelValue\", \"popperClass\", \"loading\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElSelect\n\t\t\t\t{...elSelectProps.value}\n\t\t\t\tref={selectRef}\n\t\t\t\tclass=\"fa-select-page\"\n\t\t\t\tpopperClass={`fa-select-page-dropdown fa-select-page-dropdown-${_globalSize.value} ${props.popperClass}`}\n\t\t\t\tstyle={{ width: addUnit(props.width) }}\n\t\t\t\tvModel={state.value}\n\t\t\t\tloading={state.loading}\n\t\t\t\tonChange={handleChange}\n\t\t\t\tonClear={handleClear}\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t\tonRemoveTag={(tagValue: any) => emit(\"removeTag\", tagValue)}\n\t\t\t\tonBlur={(event: FocusEvent) => emit(\"blur\", event)}\n\t\t\t\tonFocus={(event: FocusEvent) => emit(\"focus\", event)}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\tdefault: (): VNode[] =>\n\t\t\t\t\t\tstate.selectorData.map((item) => (\n\t\t\t\t\t\t\t<FaSelectOption vSlots={{ default: slots.default }} data={item} moreDetail={props.moreDetail} />\n\t\t\t\t\t\t)),\n\t\t\t\t\theader: (): VNode[] => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t{state.defaultSelectorData && (\n\t\t\t\t\t\t\t\t<ElOption\n\t\t\t\t\t\t\t\t\tclass=\"fa-select-page-dropdown__default-selector\"\n\t\t\t\t\t\t\t\t\tvalue={state.defaultSelectorData.value}\n\t\t\t\t\t\t\t\t\tlabel={state.defaultSelectorData.label}\n\t\t\t\t\t\t\t\t\tdisabled={true}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span>{state.defaultSelectorData.label}</span>\n\t\t\t\t\t\t\t\t\t<span>Default</span>\n\t\t\t\t\t\t\t\t</ElOption>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\tclass=\"fa-select-page-dropdown__search-input\"\n\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\tplaceholder=\"请输入关键字搜索\"\n\t\t\t\t\t\t\t\t\tvModel_trim={state.searchValue}\n\t\t\t\t\t\t\t\t\tonKeyup={(event: KeyboardEvent) => {\n\t\t\t\t\t\t\t\t\t\tif (event.key === \"Enter\") {\n\t\t\t\t\t\t\t\t\t\t\tloadData(1);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\tappend: () => <ElButton loading={state.loading} icon={Search} onClick={() => loadData(1)}></ElButton>,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t</ElInput>\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t{slots.header && slots.header()}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tfooter: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<ElPagination\n\t\t\t\t\t\t\t\tclass=\"fa-select-page-dropdown__pagination\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tcurrentPage={state.pageIndex}\n\t\t\t\t\t\t\t\tpageSize={state.pageSize}\n\t\t\t\t\t\t\t\ttotal={state.totalRows}\n\t\t\t\t\t\t\t\tlayout=\"prev, pager, next, total\"\n\t\t\t\t\t\t\t\tpagerCount={5}\n\t\t\t\t\t\t\t\tonCurrentChange={loadData}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{slots.footer && slots.footer()}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\t...(slots.prefix && { prefix: (): VNode[] => slots.prefix() }),\n\t\t\t\t\t...(slots.empty && { empty: (): VNode[] => slots.empty() }),\n\t\t\t\t\t...(slots.tag && { tag: (): VNode[] => slots.tag() }),\n\t\t\t\t\t...(slots.loading && { loading: (): VNode[] => slots.loading() }),\n\t\t\t\t\t...(props.multiple\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tlabel: ({ label, value }: { label: string; value: string | number | boolean | object }): VNode[] => {\n\t\t\t\t\t\t\t\t\tconst selectedData = state.selectedList.find((f) => f.value === value);\n\t\t\t\t\t\t\t\t\tif (slots.label) {\n\t\t\t\t\t\t\t\t\t\treturn slots.label({ label: selectedData?.label, value: isNil(selectedData) ? value : selectedData?.value });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn selectedData && <span class=\"el-select__tags-text\">{selectedData.label}</span>;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: slots.label && {\n\t\t\t\t\t\t\t\tlabel: ({ label, value }: { label: string; value: string | number | boolean | object }): VNode[] =>\n\t\t\t\t\t\t\t\t\tslots.label({ label, value }),\n\t\t\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElSelect>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 使选择器的输入框获取焦点 */\n\t\t\tfocus: computed(() => selectRef.value?.focus),\n\t\t\t/** @description 使选择器的输入框失去焦点,并隐藏下拉框 */\n\t\t\tblur: computed(() => selectRef.value?.blur),\n\t\t\t/** @description 获取当前选中的标签 */\n\t\t\tselectedLabel: computed(() => selectRef.value?.selectedLabel),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 选中的数据 */\n\t\t\tselectedList: computed(() => state.selectedList),\n\t\t\t/** @description 刷新 */\n\t\t\trefresh: loadData,\n\t\t\t/** @description 设置选择 */\n\t\t\tsetSelection: (value: string | number | boolean | object | (string | number | boolean | object)[]) => handleChange(value),\n\t\t\t/** @description 清除选择 */\n\t\t\tclearSelection: () => handleChange(null),\n\t\t});\n\t},\n});\n"],"names":["faSelectPageProps","SelectProps","loadingText","type","String","default","noMatchText","noDataText","collapseTags","Boolean","collapseTagsTooltip","modelValue","definePropType","Number","Object","Array","undefined","label","width","moreDetail","props","hide","disabled","children","requestApi","Function","initParam","faSelectPageEmits","value","isString","isNumber","isBoolean","isObject","isArray","isNull","dataChangeCallBack","data","change","visibleChange","visible","removeTag","tagValue","clear","blur","event","FocusEvent","focus","SelectPage","name","emits","slots","makeSlots","setup","attrs","emit","expose","selectedLabel","useVModel","passive","_globalSize","useGlobalSize","state","reactive","withDefineType","loading","selectorData","selectedList","debut","echo","nextRefresh","pageIndex","pageSize","totalRows","searchValue","defaultSelectorData","selectRef","ref","handleData","map","m","valueKey","isFunction","filter","f","loadData","async","params","resData","rows","error","consoleError","handleChange","multiple","valueArr","length","dataList","includes","some","s","isNil","find","handleClear","handleVisibleChange","watch","newValue","hasLabel","slice","multipleLimit","item","index","immediate","onMounted","oldValue","isEqual","elSelectProps","useProps","useRender","_createVNode","ElSelect","_mergeProps","class","popperClass","style","addUnit","$event","onChange","onClear","onVisibleChange","onRemoveTag","onBlur","onFocus","FaSelectOption","header","_Fragment","ElOption","_createTextVNode","ElInput","clearable","placeholder","modelModifiers","trim","onKeyup","key","append","ElButton","icon","Search","onClick","footer","ElPagination","size","currentPage","total","layout","pagerCount","onCurrentChange","prefix","empty","tag","selectedData","useExpose","computed","refresh","setSelection","clearSelection"],"mappings":"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"}
1
+ {"version":3,"file":"selectPage.js","sources":["../../../../../packages/components/selectPage/src/selectPage.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElButton, ElInput, ElOption, ElPagination, ElSelect, selectEmits, useGlobalSize } from \"element-plus\";\nimport { Search } from \"@element-plus/icons-vue\";\nimport { FaSelectOption, SelectProps } from \"@fast-element-plus/components/select\";\nimport { type SelectComponentProps } from \"@fast-element-plus/components/select/src/select\";\nimport { addUnit, consoleError, definePropType, makeSlots, useEmits, useExpose, useProps, useRender, withDefineType } from \"@fast-china/utils\";\nimport { useVModel } from \"@vueuse/core\";\nimport { isArray, isBoolean, isEqual, isFunction, isNil, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport type { ElSelectorOutput } from \"@fast-element-plus/components/select\";\nimport type { PagedInput, PagedResult } from \"@fast-element-plus/components/table\";\nimport type { VNode } from \"vue\";\n\nexport const faSelectPageProps = {\n\t...SelectProps,\n\t/** @description whether Select is disabled 重载使其支持 ElForm*/\n\tdisabled: {\n\t\ttype: Boolean,\n\t\tdefault: undefined,\n\t},\n\t/** @description displayed text while loading data from server, default is 'Loading' */\n\tloadingText: {\n\t\ttype: String,\n\t\tdefault: \"加载中...\",\n\t},\n\t/** @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data' */\n\tnoMatchText: {\n\t\ttype: String,\n\t\tdefault: \"暂无匹配的数据\",\n\t},\n\t/** @description displayed text when there is no options, you can also use slot `empty`, default is 'No data' */\n\tnoDataText: {\n\t\ttype: String,\n\t\tdefault: \"暂无数据\",\n\t},\n\t/** @description whether to collapse tags to a text when multiple selecting */\n\tcollapseTags: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true */\n\tcollapseTagsTooltip: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description v-model绑定值 */\n\tmodelValue: {\n\t\ttype: definePropType<string | number | boolean | object | (string | number | boolean | object)[]>([String, Number, Boolean, Object, Array]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: definePropType<string | string[]>([String, Array]),\n\t/** @description 宽度 */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"100%\",\n\t},\n\t/** @description 更多细节,只有使用slot的时候有用 */\n\tmoreDetail: Boolean,\n\t/** @description 配置选项 */\n\tprops: {\n\t\ttype: definePropType<SelectComponentProps>(Object),\n\t\tdefault: (): Partial<SelectComponentProps> => ({\n\t\t\tlabel: \"label\",\n\t\t\thide: \"hide\",\n\t\t\tdisabled: \"disabled\",\n\t\t\tchildren: \"children\",\n\t\t}),\n\t},\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<(params?: PagedInput) => Promise<PagedResult<ElSelectorOutput>>>(Function),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n};\n\nexport const faSelectPageEmits = {\n\t...selectEmits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: string | number | boolean | object | (string | number | boolean | object)[]): boolean =>\n\t\tisString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value),\n\t/** @description v-model:label 回调 */\n\t\"update:label\": (value: string | string[]): boolean => isString(value) || isArray(value) || isNull(value),\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElSelectorOutput[] | any[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (\n\t\tdata: ElSelectorOutput | ElSelectorOutput[] | any | any[],\n\t\tvalue?: string | number | boolean | object | (string | number | boolean | object)[]\n\t): boolean => true,\n};\n\ntype FaSelectPageSlots = {\n\t/** @description FaSelectOption 默认内容插槽 */\n\tdefault: ElSelectorOutput;\n\t/** @description 下拉列表顶部的内容 */\n\theader: never;\n\t/** @description 下拉列表底部的内容 */\n\tfooter: never;\n\t/** @description Select 组件头部内容 */\n\tprefix: never;\n\t/** @description 无选项时的列表 */\n\tempty: never;\n\t/** @description select 组件自定义标签内容 */\n\ttag: never;\n\t/** @description select 组件自定义 loading内容 */\n\tloading: never;\n\t/** @description select 组件自定义标签内容 */\n\tlabel: { label: string; value: string | number | boolean | object };\n};\n\nexport default defineComponent({\n\tname: \"FaSelectPage\",\n\tprops: faSelectPageProps,\n\temits: faSelectPageEmits,\n\tslots: makeSlots<FaSelectPageSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst selectedLabel = useVModel(props, \"label\", emit);\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tvalue: withDefineType<string | number | boolean | object | (string | number | boolean | object)[]>(),\n\t\t\tloading: false,\n\t\t\tselectorData: withDefineType<ElSelectorOutput[]>([]),\n\t\t\t/** 选中的数据 */\n\t\t\tselectedList: withDefineType<ElSelectorOutput[]>([]),\n\t\t\t/** 首次出现 */\n\t\t\tdebut: true,\n\t\t\t/** 回显 */\n\t\t\techo: true,\n\t\t\t/** 下次刷新 */\n\t\t\tnextRefresh: false,\n\t\t\tpageIndex: 1,\n\t\t\tpageSize: 15,\n\t\t\ttotalRows: 0,\n\t\t\tsearchValue: undefined,\n\t\t\tdefaultSelectorData: withDefineType<ElSelectorOutput>(),\n\t\t});\n\n\t\tconst selectRef = ref<InstanceType<typeof ElSelect>>();\n\n\t\tconst handleData = (data: ElSelectorOutput[]): ElSelectorOutput[] => {\n\t\t\treturn data\n\t\t\t\t?.map((m) => ({\n\t\t\t\t\t...m,\n\t\t\t\t\tvalue: m[props.valueKey],\n\t\t\t\t\tlabel: isFunction(props.props.label) ? props.props.label(m) : m[props.props.label ?? \"label\"],\n\t\t\t\t\thide: isFunction(props.props.hide) ? props.props.hide(m) : m[props.props.hide ?? \"hide\"],\n\t\t\t\t\tdisabled: isFunction(props.props.disabled) ? props.props.disabled(m) : m[props.props.disabled ?? \"disabled\"],\n\t\t\t\t\tchildren: isFunction(props.props.children)\n\t\t\t\t\t\t? handleData(props.props.children(m))\n\t\t\t\t\t\t: handleData(m[props.props.children ?? \"children\"]),\n\t\t\t\t}))\n\t\t\t\t.filter((f) => !f.hide);\n\t\t};\n\n\t\tconst loadData = async (pageIndex?: number): Promise<void> => {\n\t\t\tstate.loading = true;\n\t\t\tstate.pageIndex = pageIndex ?? state.pageIndex;\n\t\t\tconst params: PagedInput = {\n\t\t\t\t...(props.initParam ?? {}),\n\t\t\t\tpageIndex: state.pageIndex,\n\t\t\t\tpageSize: state.pageSize,\n\t\t\t\tsearchValue: state.searchValue,\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t// 这里不允许回显了\n\t\t\t\tstate.echo = false;\n\t\t\t\tstate.totalRows = resData.totalRows;\n\t\t\t\tstate.selectorData = handleData(resData.rows);\n\t\t\t\temit(\"dataChangeCallBack\", state.selectorData);\n\t\t\t} catch (error) {\n\t\t\t\tconsoleError(\"FaSelectPage\", error);\n\t\t\t\tstate.pageIndex = 1;\n\t\t\t\tstate.totalRows = 0;\n\t\t\t\tstate.selectorData = [];\n\t\t\t} finally {\n\t\t\t\tstate.loading = false;\n\t\t\t}\n\t\t};\n\n\t\tconst handleChange = (value?: string | number | boolean | object | (string | number | boolean | object)[]): void => {\n\t\t\t// 判断是否为多选\n\t\t\tif (props.multiple) {\n\t\t\t\t// value 必然是数组\n\t\t\t\tconst valueArr = value as (string | number | boolean | object)[];\n\t\t\t\tif (valueArr?.length === 0) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\tstate.selectedList = [];\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst dataList = state.selectorData.filter((f) => valueArr.includes(f.value));\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = dataList.map((m) => m.label);\n\t\t\t\tstate.selectedList = [...state.selectedList.filter((f) => !dataList.some((s) => s.value === f.value)), ...dataList]\n\t\t\t\t\t// 过滤不存在的\n\t\t\t\t\t.filter((f) => valueArr.includes(f.value));\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", dataList, value);\n\t\t\t} else {\n\t\t\t\t// value 必然不是数组\n\t\t\t\tif (isNil(value)) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\tstate.selectedList = [];\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst data = state.selectorData.find((f) => f.value === value);\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = data.label;\n\t\t\t\tif (!state.selectedList.some((s) => s.value === value)) {\n\t\t\t\t\tstate.selectedList = [data];\n\t\t\t\t}\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", data, value);\n\t\t\t}\n\t\t};\n\n\t\tconst handleClear = (): void => {\n\t\t\tstate.value = null;\n\t\t\tselectedLabel.value = null;\n\t\t\tstate.selectedList = [];\n\t\t\temit(\"update:modelValue\", null);\n\t\t\temit(\"clear\");\n\t\t};\n\n\t\tconst handleVisibleChange = async (visible: boolean): Promise<void> => {\n\t\t\tif (visible) {\n\t\t\t\tif (state.debut) {\n\t\t\t\t\t// 首次出现\n\t\t\t\t\tstate.debut = false;\n\t\t\t\t\tawait loadData();\n\t\t\t\t} else {\n\t\t\t\t\t// 判断再次出现是否需要刷新数据\n\t\t\t\t\tif (state.nextRefresh) {\n\t\t\t\t\t\tstate.nextRefresh = false;\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"visible-change\", visible);\n\t\t};\n\n\t\twatch(\n\t\t\t() => props.modelValue,\n\t\t\t(newValue) => {\n\t\t\t\tif (state.echo && !isNil(newValue)) {\n\t\t\t\t\tconst hasLabel = !isNil(props.label);\n\t\t\t\t\t// 判断是否为多选\n\t\t\t\t\tif (props.multiple) {\n\t\t\t\t\t\tif (!isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectPage\", \"当启用 multiple 时,传入的 modelValue 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && !isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectPage\", \"当启用 multiple 时,传入的 modelValue:label 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectedList = newValue\n\t\t\t\t\t\t\t// 最大选项截取\n\t\t\t\t\t\t\t.slice(0, props.multipleLimit > 0 ? props.multipleLimit : newValue.length)\n\t\t\t\t\t\t\t.map((item, index) => ({\n\t\t\t\t\t\t\t\tvalue: item,\n\t\t\t\t\t\t\t\tlabel: hasLabel ? props.label[index] : undefined,\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectPage\", \"当禁用 multiple 时,传入的 modelValue 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectPage\", \"当禁用 multiple 时,传入的 modelValue:label 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.defaultSelectorData = {\n\t\t\t\t\t\t\tvalue: newValue,\n\t\t\t\t\t\t\tlabel: props.label,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstate.value = newValue;\n\t\t\t},\n\t\t\t{\n\t\t\t\timmediate: true,\n\t\t\t}\n\t\t);\n\n\t\tonMounted(() => {\n\t\t\twatch(\n\t\t\t\t() => props.initParam,\n\t\t\t\t(newValue, oldValue) => {\n\t\t\t\t\tif (!isEqual(newValue, oldValue)) {\n\t\t\t\t\t\tstate.nextRefresh = true;\n\t\t\t\t\t\tif (!isNil(state.value)) {\n\t\t\t\t\t\t\thandleChange();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\n\t\tconst elSelectProps = useProps(props, SelectProps, [\"modelValue\", \"popperClass\", \"loading\"]);\n\t\tconst elSelectEmits = useEmits(selectEmits, emit, [\"update:modelValue\", \"change\", \"clear\", \"visible-change\"]);\n\t\tconst elPopperClass = computed(() => {\n\t\t\tlet localClass = `fa-select-page-dropdown fa-select-page-dropdown-${_globalSize.value} ${props.popperClass}`;\n\t\t\tif (props.moreDetail) {\n\t\t\t\tlocalClass += ` fa-select-dropdown__more-detail fa-select-dropdown__more-detail-${_globalSize.value}`;\n\t\t\t}\n\t\t\treturn localClass;\n\t\t});\n\n\t\tuseRender(() => (\n\t\t\t<ElSelect\n\t\t\t\t{...elSelectProps.value}\n\t\t\t\t{...elSelectEmits.value}\n\t\t\t\tref={selectRef}\n\t\t\t\tclass=\"fa-select-page\"\n\t\t\t\tpopperClass={elPopperClass.value}\n\t\t\t\tstyle={{ width: addUnit(props.width) }}\n\t\t\t\tvModel={state.value}\n\t\t\t\tloading={state.loading}\n\t\t\t\tonChange={handleChange}\n\t\t\t\tonClear={handleClear}\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\tdefault: (): VNode[] =>\n\t\t\t\t\t\tstate.selectorData.map((item) => (\n\t\t\t\t\t\t\t<FaSelectOption vSlots={{ default: slots.default }} data={item} moreDetail={props.moreDetail} />\n\t\t\t\t\t\t)),\n\t\t\t\t\theader: (): VNode[] => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t{state.defaultSelectorData && (\n\t\t\t\t\t\t\t\t<ElOption\n\t\t\t\t\t\t\t\t\tclass=\"fa-select-page-dropdown__default-selector\"\n\t\t\t\t\t\t\t\t\tvalue={state.defaultSelectorData.value}\n\t\t\t\t\t\t\t\t\tlabel={state.defaultSelectorData.label}\n\t\t\t\t\t\t\t\t\tdisabled={true}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span>{state.defaultSelectorData.label}</span>\n\t\t\t\t\t\t\t\t\t<span>Default</span>\n\t\t\t\t\t\t\t\t</ElOption>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t<ElInput\n\t\t\t\t\t\t\t\t\tclass=\"fa-select-page-dropdown__search-input\"\n\t\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\t\tplaceholder=\"请输入关键字搜索\"\n\t\t\t\t\t\t\t\t\tvModel_trim={state.searchValue}\n\t\t\t\t\t\t\t\t\tonKeyup={(event: KeyboardEvent) => {\n\t\t\t\t\t\t\t\t\t\tif (event.key === \"Enter\") {\n\t\t\t\t\t\t\t\t\t\t\tloadData(1);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\tappend: () => <ElButton loading={state.loading} icon={Search} onClick={() => loadData(1)}></ElButton>,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t</ElInput>\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t{slots.header && slots.header()}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tfooter: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<ElPagination\n\t\t\t\t\t\t\t\tclass=\"fa-select-page-dropdown__pagination\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tcurrentPage={state.pageIndex}\n\t\t\t\t\t\t\t\tpageSize={state.pageSize}\n\t\t\t\t\t\t\t\ttotal={state.totalRows}\n\t\t\t\t\t\t\t\tlayout=\"prev, pager, next, total\"\n\t\t\t\t\t\t\t\tpagerCount={5}\n\t\t\t\t\t\t\t\tonCurrentChange={loadData}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{slots.footer && slots.footer()}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\t...(slots.prefix && { prefix: (): VNode[] => slots.prefix() }),\n\t\t\t\t\t...(slots.empty && { empty: (): VNode[] => slots.empty() }),\n\t\t\t\t\t...(slots.tag && { tag: (): VNode[] => slots.tag() }),\n\t\t\t\t\t...(slots.loading && { loading: (): VNode[] => slots.loading() }),\n\t\t\t\t\t...(props.multiple\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tlabel: ({ label, value }: { label: string; value: string | number | boolean | object }): VNode[] => {\n\t\t\t\t\t\t\t\t\tconst selectedData = state.selectedList.find((f) => f.value === value);\n\t\t\t\t\t\t\t\t\tif (slots.label) {\n\t\t\t\t\t\t\t\t\t\treturn slots.label({ label: selectedData?.label, value: isNil(selectedData) ? value : selectedData?.value });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn selectedData && <span class=\"el-select__tags-text\">{selectedData.label}</span>;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: slots.label && {\n\t\t\t\t\t\t\t\tlabel: ({ label, value }: { label: string; value: string | number | boolean | object }): VNode[] =>\n\t\t\t\t\t\t\t\t\tslots.label({ label, value }),\n\t\t\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElSelect>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 使选择器的输入框获取焦点 */\n\t\t\tfocus: computed(() => selectRef.value?.focus),\n\t\t\t/** @description 使选择器的输入框失去焦点,并隐藏下拉框 */\n\t\t\tblur: computed(() => selectRef.value?.blur),\n\t\t\t/** @description 获取当前选中的标签 */\n\t\t\tselectedLabel: computed(() => selectRef.value?.selectedLabel),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 选中的数据 */\n\t\t\tselectedList: computed(() => state.selectedList),\n\t\t\t/** @description 刷新 */\n\t\t\trefresh: loadData,\n\t\t\t/** @description 设置选择 */\n\t\t\tsetSelection: (value: string | number | boolean | object | (string | number | boolean | object)[]) => handleChange(value),\n\t\t\t/** @description 清除选择 */\n\t\t\tclearSelection: () => handleChange(null),\n\t\t});\n\t},\n});\n"],"names":["faSelectPageProps","SelectProps","disabled","type","Boolean","default","undefined","loadingText","String","noMatchText","noDataText","collapseTags","collapseTagsTooltip","modelValue","definePropType","Number","Object","Array","label","width","moreDetail","props","hide","children","requestApi","Function","initParam","faSelectPageEmits","selectEmits","value","isString","isNumber","isBoolean","isObject","isArray","isNull","dataChangeCallBack","data","change","SelectPage","name","emits","slots","makeSlots","setup","attrs","emit","expose","selectedLabel","useVModel","_globalSize","useGlobalSize","state","reactive","withDefineType","loading","selectorData","selectedList","debut","echo","nextRefresh","pageIndex","pageSize","totalRows","searchValue","defaultSelectorData","selectRef","ref","handleData","map","m","valueKey","isFunction","filter","f","loadData","async","params","resData","rows","error","consoleError","handleChange","multiple","valueArr","length","dataList","includes","some","s","isNil","find","handleClear","handleVisibleChange","visible","watch","newValue","hasLabel","slice","multipleLimit","item","index","immediate","onMounted","oldValue","isEqual","elSelectProps","useProps","elSelectEmits","useEmits","elPopperClass","computed","localClass","popperClass","useRender","_createVNode","ElSelect","_mergeProps","class","style","addUnit","$event","onChange","onClear","onVisibleChange","FaSelectOption","header","_Fragment","ElOption","_createTextVNode","ElInput","clearable","placeholder","modelModifiers","trim","onKeyup","event","key","append","ElButton","icon","Search","onClick","footer","ElPagination","size","currentPage","total","layout","pagerCount","onCurrentChange","prefix","empty","tag","selectedData","useExpose","focus","blur","refresh","setSelection","clearSelection"],"mappings":"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"}
@@ -286,17 +286,21 @@ export declare const SelectV2Props: {
286
286
  */
287
287
  appendTo: StringConstructor;
288
288
  };
289
- export type SelectComponentProps = {
290
- /** @description 指定标签为节点的某个属性值 */
291
- label?: string | ((data: any) => string);
292
- /** @description 指定是否隐藏为节点的某个属性值 */
293
- hide?: string | ((data: any) => boolean);
294
- /** @description 指定是否禁用为节点的某个属性值 */
295
- disabled?: string | ((data: any) => boolean);
296
- /** @description 指定子节点对象为节点的某个属性值 */
297
- children?: string;
289
+ export declare const selectV2Emits: {
290
+ "update:modelValue": (value: string | number | boolean | object | (string | number | boolean | object)[]) => boolean;
291
+ change: (val: string | number | boolean | object | (string | number | boolean | object)[]) => boolean;
292
+ "remove-tag": (val: unknown) => boolean;
293
+ "visible-change": (visible: boolean) => boolean;
294
+ focus: (evt: FocusEvent) => boolean;
295
+ blur: (evt: FocusEvent) => boolean;
296
+ clear: () => boolean;
298
297
  };
299
298
  export declare const faSelectV2Props: {
299
+ /** @description whether Select is disabled 重载使其支持 ElForm*/
300
+ disabled: {
301
+ type: BooleanConstructor;
302
+ default: any;
303
+ };
300
304
  /** @description displayed text while loading data from server, default is 'Loading' */
301
305
  loadingText: {
302
306
  type: StringConstructor;
@@ -411,10 +415,6 @@ export declare const faSelectV2Props: {
411
415
  * @description
412
416
  */
413
417
  defaultFirstOption: BooleanConstructor;
414
- /**
415
- * @description is disabled
416
- */
417
- disabled: BooleanConstructor;
418
418
  /**
419
419
  * @description
420
420
  */
@@ -624,16 +624,11 @@ export declare const faSelectV2Emits: {
624
624
  dataChangeCallBack: (data: ElSelectorOutput[] | any[]) => boolean;
625
625
  /** @description 改变 */
626
626
  change: (data: ElSelectorOutput | ElSelectorOutput[] | any | any[], value?: string | number | boolean | object | (string | number | boolean | object)[]) => boolean;
627
- /** @description 下拉框出现/隐藏时触发 */
628
- visibleChange: (visible: boolean) => boolean;
629
- /** @description 多选模式下移除tag时触发 */
630
- removeTag: (tagValue: any) => boolean;
631
- /** @description 可清空的单选模式下用户点击清空按钮时触发 */
627
+ "remove-tag": (val: unknown) => boolean;
628
+ "visible-change": (visible: boolean) => boolean;
629
+ focus: (evt: FocusEvent) => boolean;
630
+ blur: (evt: FocusEvent) => boolean;
632
631
  clear: () => boolean;
633
- /** @description 当 input 失去焦点时触发 */
634
- blur: (event: FocusEvent) => boolean;
635
- /** @description 当 input 获得焦点时触发 */
636
- focus: (event: FocusEvent) => boolean;
637
632
  };
638
633
  type FaSelectV2Slots = {
639
634
  /** @description FaSelectOption 默认内容插槽 */
@@ -661,6 +656,11 @@ type FaSelectV2Slots = {
661
656
  };
662
657
  };
663
658
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
659
+ /** @description whether Select is disabled 重载使其支持 ElForm*/
660
+ disabled: {
661
+ type: BooleanConstructor;
662
+ default: any;
663
+ };
664
664
  /** @description displayed text while loading data from server, default is 'Loading' */
665
665
  loadingText: {
666
666
  type: StringConstructor;
@@ -775,10 +775,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
775
775
  * @description
776
776
  */
777
777
  defaultFirstOption: BooleanConstructor;
778
- /**
779
- * @description is disabled
780
- */
781
- disabled: BooleanConstructor;
782
778
  /**
783
779
  * @description
784
780
  */
@@ -1002,17 +998,17 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1002
998
  dataChangeCallBack: (data: ElSelectorOutput[] | any[]) => boolean;
1003
999
  /** @description 改变 */
1004
1000
  change: (data: ElSelectorOutput | ElSelectorOutput[] | any | any[], value?: string | number | boolean | object | (string | number | boolean | object)[]) => boolean;
1005
- /** @description 下拉框出现/隐藏时触发 */
1006
- visibleChange: (visible: boolean) => boolean;
1007
- /** @description 多选模式下移除tag时触发 */
1008
- removeTag: (tagValue: any) => boolean;
1009
- /** @description 可清空的单选模式下用户点击清空按钮时触发 */
1001
+ "remove-tag": (val: unknown) => boolean;
1002
+ "visible-change": (visible: boolean) => boolean;
1003
+ focus: (evt: FocusEvent) => boolean;
1004
+ blur: (evt: FocusEvent) => boolean;
1010
1005
  clear: () => boolean;
1011
- /** @description 当 input 失去焦点时触发 */
1012
- blur: (event: FocusEvent) => boolean;
1013
- /** @description 当 input 获得焦点时触发 */
1014
- focus: (event: FocusEvent) => boolean;
1015
1006
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
1007
+ /** @description whether Select is disabled 重载使其支持 ElForm*/
1008
+ disabled: {
1009
+ type: BooleanConstructor;
1010
+ default: any;
1011
+ };
1016
1012
  /** @description displayed text while loading data from server, default is 'Loading' */
1017
1013
  loadingText: {
1018
1014
  type: StringConstructor;
@@ -1127,10 +1123,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1127
1123
  * @description
1128
1124
  */
1129
1125
  defaultFirstOption: BooleanConstructor;
1130
- /**
1131
- * @description is disabled
1132
- */
1133
- disabled: BooleanConstructor;
1134
1126
  /**
1135
1127
  * @description
1136
1128
  */
@@ -1334,8 +1326,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1334
1326
  onClear?: () => any;
1335
1327
  "onUpdate:modelValue"?: (value: string | number | boolean | object | (string | number | boolean | object)[]) => any;
1336
1328
  onChange?: (data: any, value?: string | number | boolean | object | (string | number | boolean | object)[]) => any;
1337
- onFocus?: (event: FocusEvent) => any;
1338
- onBlur?: (event: FocusEvent) => any;
1329
+ onFocus?: (evt: FocusEvent) => any;
1330
+ onBlur?: (evt: FocusEvent) => any;
1339
1331
  "onUpdate:label"?: (value: string | string[]) => any;
1340
1332
  onDataChangeCallBack?: (data: any[] | {
1341
1333
  [key: string]: any;
@@ -1346,8 +1338,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1346
1338
  disabled?: boolean;
1347
1339
  children?: /*elided*/ any[];
1348
1340
  }[]) => any;
1349
- onVisibleChange?: (visible: boolean) => any;
1350
- onRemoveTag?: (tagValue: any) => any;
1341
+ "onRemove-tag"?: (val: unknown) => any;
1342
+ "onVisible-change"?: (visible: boolean) => any;
1351
1343
  }>, {
1352
1344
  props: Props;
1353
1345
  data: {
@@ -1399,9 +1391,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1399
1391
  maxCollapseTags: number;
1400
1392
  tagType: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "primary" | "success" | "warning" | "info" | "danger", unknown>;
1401
1393
  tagEffect: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "plain" | "dark" | "light", unknown>;
1394
+ scrollbarAlwaysOn: boolean;
1402
1395
  pageResult: boolean;
1403
1396
  estimatedOptionHeight: number;
1404
1397
  itemHeight: number;
1405
- scrollbarAlwaysOn: boolean;
1406
1398
  }, import('vue').SlotsType<Partial<import('@fast-china/utils').MakeSlots<FaSelectV2Slots>>>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
1407
1399
  export default _default;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),l=require("element-plus"),t=require("@element-plus/icons-vue"),a=require("@fast-china/utils"),o=require("@vueuse/core"),i=require("lodash-unified"),r={allowCreate:Boolean,autocomplete:{type:a.definePropType(String),default:"none"},automaticDropdown:Boolean,clearable:Boolean,clearIcon:{type:a.definePropType([String,Object,Function]),default:t.CircleClose},effect:{type:a.definePropType(String),default:"light"},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},defaultFirstOption:Boolean,disabled:Boolean,estimatedOptionHeight:{type:Number,default:void 0},filterable:Boolean,filterMethod:Function,height:{type:Number,default:274},itemHeight:{type:Number,default:34},id:String,loading:Boolean,loadingText:String,modelValue:{type:a.definePropType([Array,String,Number,Boolean,Object])},multiple:Boolean,multipleLimit:{type:Number,default:0},name:String,noDataText:String,noMatchText:String,remoteMethod:Function,reserveKeyword:{type:Boolean,default:!0},options:{type:a.definePropType(Array)},placeholder:{type:String},teleported:l.useTooltipContentProps.teleported,persistent:{type:Boolean,default:!0},popperClass:{type:String,default:""},popperOptions:{type:a.definePropType(Object),default:()=>({})},remote:Boolean,size:l.useSizeProp,props:{type:a.definePropType(Object),default:()=>({label:"label",value:"value",disabled:"disabled",options:"options"})},valueKey:{type:String,default:"value"},scrollbarAlwaysOn:Boolean,validateEvent:{type:Boolean,default:!0},offset:{type:Number,default:12},showArrow:{type:Boolean,default:!0},placement:{type:a.definePropType(String),default:"bottom-start"},fallbackPlacements:{type:a.definePropType(Array),default:["bottom-start","top-start","right","left"]},tagType:{...l.tagProps.type,default:"info"},tagEffect:{...l.tagProps.effect,default:"light"},tabindex:{type:[String,Number],default:0},appendTo:String,...l.useEmptyValuesProps,...l.useAriaProps(["ariaLabel"])},n={...r,loadingText:{type:String,default:"加载中..."},noMatchText:{type:String,default:"暂无匹配的数据"},noDataText:{type:String,default:"暂无数据"},collapseTags:{type:Boolean,default:!0},collapseTagsTooltip:{type:Boolean,default:!0},modelValue:{type:a.definePropType([String,Number,Boolean,Object,Array]),default:void 0},label:a.definePropType([String,Array]),width:{type:[String,Number],default:"100%"},moreDetail:Boolean,lazy:{type:Boolean,default:!0},defaultSelected:Boolean,data:{type:a.definePropType(Array),default:()=>[]},pageResult:Boolean,requestApi:{type:a.definePropType(Function)},initParam:a.definePropType([String,Number,Object])},u={"update:modelValue":e=>i.isString(e)||i.isNumber(e)||i.isBoolean(e)||i.isObject(e)||i.isArray(e)||i.isNull(e),"update:label":e=>i.isString(e)||i.isArray(e)||i.isNull(e),dataChangeCallBack:e=>i.isArray(e),change:(e,l)=>(i.isObject(e)||i.isArray(e)||i.isNull(e))&&(i.isString(l)||i.isNumber(l)||i.isBoolean(l)||i.isObject(l)||i.isArray(l)||i.isNull(l)),visibleChange:e=>i.isBoolean(e),removeTag:e=>i.isString(e)||i.isNumber(e)||i.isBoolean(e)||i.isObject(e)||i.isArray(e),clear:()=>!0,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent},s=e.defineComponent({name:"FaSelectV2",props:n,emits:u,slots:a.makeSlots(),setup(t,{attrs:n,slots:u,emit:s,expose:p}){const d=o.useVModel(t,"label",s,{passive:!0}),c=l.useGlobalSize(),f=e.reactive({value:a.withDefineType(),loading:!1,selectorData:a.withDefineType([]),debut:!0,echo:!(t.data?.length>0),nextRefresh:!1}),m=e.ref(),y=async()=>{if(t.requestApi){f.loading=!0;const l=t.initParam??{};try{const e=await t.requestApi(l);f.echo=!1,t.pageResult?f.selectorData=e.rows:f.selectorData=e,s("dataChangeCallBack",f.selectorData)}catch(e){a.consoleError("FaSelect",e),f.selectorData=[]}finally{f.loading=!1}}else f.echo=!1,f.selectorData=t.data},g=e=>{if(t.multiple){const l=e;if(0===l?.length)return f.value=null,d.value=null,s("update:modelValue",null),void s("change",null,null);const t=f.selectorData.filter(e=>l.includes(e.value));f.value=e,d.value=t.map(e=>e.label),s("update:modelValue",e),s("change",t,e)}else{if(i.isNil(e))return f.value=null,d.value=null,s("update:modelValue",null),void s("change",null,null);const l=f.selectorData.find(l=>l.value===e);f.value=e,d.value=l.label,s("update:modelValue",e),s("change",l,e)}},b=()=>{f.value=null,d.value=null,s("clear")},v=async e=>{e&&(f.debut?(f.debut=!1,!t.defaultSelected&&t.lazy&&await y()):f.nextRefresh&&(f.nextRefresh=!1,await y())),s("visibleChange",e)};e.watch(()=>t.modelValue,e=>{if(f.echo&&!i.isNil(e)){const l=!i.isNil(t.label);if(t.multiple){if(!i.isArray(e))return void a.consoleError("FaSelectV2","当启用 multiple 时,传入的 modelValue 必须是Array。");if(l&&!i.isArray(t.label))return void a.consoleError("FaSelectV2","当启用 multiple 时,传入的 modelValue:label 必须是Array。");f.selectorData=e.slice(0,t.multipleLimit>0?t.multipleLimit:e.length).map((e,a)=>({value:e,label:l?t.label[a]:void 0}))}else{if(i.isArray(e))return void a.consoleError("FaSelectV2","当禁用 multiple 时,传入的 modelValue 不能是Array。");if(l&&i.isArray(t.label))return void a.consoleError("FaSelectV2","当禁用 multiple 时,传入的 modelValue:label 不能是Array。");f.selectorData=[{value:e,label:t.label}]}}f.value=e},{immediate:!0}),e.onMounted(async()=>{t.defaultSelected?(await y(),f.selectorData.length>0&&g(t.multiple?[f.selectorData[0].value]:f.selectorData[0].value)):!t.requestApi&&t.data?.length>0?(f.debut=!1,await y()):t.lazy||await y(),e.watch(()=>t.initParam,(e,l)=>{i.isEqual(e,l)||(f.nextRefresh=!0,i.isNil(f.value)||g())}),e.watch(()=>t.data,async()=>{t.requestApi||await y()},{deep:!0})});const h=a.useProps(t,r,["modelValue","popperClass","loading","options","itemHeight"]);return a.useRender(()=>e.createVNode(l.ElSelectV2,e.mergeProps(h.value,{ref:m,class:"fa-select-v2",popperClass:`${t.moreDetail&&"fa-select-v2-dropdown__more-detail"} ${t.popperClass}`,style:{width:a.addUnit(t.width)},modelValue:f.value,"onUpdate:modelValue":e=>f.value=e,loading:f.loading,options:f.selectorData,itemHeight:t.itemHeight+("small"===c.value?0:8),onChange:g,onClear:b,onVisibleChange:v,onRemoveTag:e=>s("removeTag",e),onBlur:e=>s("blur",e),onFocus:e=>s("focus",e)}),{...u.default&&{default:({item:e,index:l,disabled:t})=>u.default({item:e,index:l,disabled:t})},...u.header&&{header:()=>u.header()},...u.footer&&{footer:()=>u.footer()},...u.prefix&&{prefix:()=>u.prefix()},...u.empty&&{empty:()=>u.empty()},...u.tag&&{tag:()=>u.tag()},...u.loading&&{loading:()=>u.loading()},...u.label&&{label:({label:e,value:l})=>u.label({label:e,value:l})}})),a.useExpose(p,{focus:e.computed(()=>m.value?.focus),blur:e.computed(()=>m.value?.blur),selectedLabel:e.computed(()=>m.value?.selectedLabel),loading:e.computed(()=>f.loading),refresh:y,setSelection:e=>g(e),clearSelection:()=>g(null)})}});exports.SelectV2Props=r,exports.default=s,exports.faSelectV2Emits=u,exports.faSelectV2Props=n;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),l=require("element-plus"),t=require("@element-plus/icons-vue"),a=require("@fast-china/utils"),o=require("@vueuse/core"),r=require("lodash-unified"),i={allowCreate:Boolean,autocomplete:{type:a.definePropType(String),default:"none"},automaticDropdown:Boolean,clearable:Boolean,clearIcon:{type:a.definePropType([String,Object,Function]),default:t.CircleClose},effect:{type:a.definePropType(String),default:"light"},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},defaultFirstOption:Boolean,disabled:Boolean,estimatedOptionHeight:{type:Number,default:void 0},filterable:Boolean,filterMethod:Function,height:{type:Number,default:274},itemHeight:{type:Number,default:34},id:String,loading:Boolean,loadingText:String,modelValue:{type:a.definePropType([Array,String,Number,Boolean,Object])},multiple:Boolean,multipleLimit:{type:Number,default:0},name:String,noDataText:String,noMatchText:String,remoteMethod:Function,reserveKeyword:{type:Boolean,default:!0},options:{type:a.definePropType(Array)},placeholder:{type:String},teleported:l.useTooltipContentProps.teleported,persistent:{type:Boolean,default:!0},popperClass:{type:String,default:""},popperOptions:{type:a.definePropType(Object),default:()=>({})},remote:Boolean,size:l.useSizeProp,props:{type:a.definePropType(Object),default:()=>({label:"label",value:"value",disabled:"disabled",options:"options"})},valueKey:{type:String,default:"value"},scrollbarAlwaysOn:Boolean,validateEvent:{type:Boolean,default:!0},offset:{type:Number,default:12},showArrow:{type:Boolean,default:!0},placement:{type:a.definePropType(String),default:"bottom-start"},fallbackPlacements:{type:a.definePropType(Array),default:["bottom-start","top-start","right","left"]},tagType:{...l.tagProps.type,default:"info"},tagEffect:{...l.tagProps.effect,default:"light"},tabindex:{type:[String,Number],default:0},appendTo:String,...l.useEmptyValuesProps,...l.useAriaProps(["ariaLabel"])},u={"update:modelValue":e=>!0,change:e=>!0,"remove-tag":e=>!0,"visible-change":e=>!0,focus:e=>!0,blur:e=>!0,clear:()=>!0},n={...i,disabled:{type:Boolean,default:void 0},loadingText:{type:String,default:"加载中..."},noMatchText:{type:String,default:"暂无匹配的数据"},noDataText:{type:String,default:"暂无数据"},collapseTags:{type:Boolean,default:!0},collapseTagsTooltip:{type:Boolean,default:!0},modelValue:{type:a.definePropType([String,Number,Boolean,Object,Array]),default:void 0},label:a.definePropType([String,Array]),width:{type:[String,Number],default:"100%"},moreDetail:Boolean,lazy:{type:Boolean,default:!0},defaultSelected:Boolean,data:{type:a.definePropType(Array),default:()=>[]},pageResult:Boolean,requestApi:{type:a.definePropType(Function)},initParam:a.definePropType([String,Number,Object])},s={...u,"update:modelValue":e=>r.isString(e)||r.isNumber(e)||r.isBoolean(e)||r.isObject(e)||r.isArray(e)||r.isNull(e),"update:label":e=>r.isString(e)||r.isArray(e)||r.isNull(e),dataChangeCallBack:e=>r.isArray(e),change:(e,l)=>!0},d=e.defineComponent({name:"FaSelectV2",props:n,emits:s,slots:a.makeSlots(),setup(t,{attrs:u,slots:n,emit:d,expose:p}){const c=o.useVModel(t,"label",d),f=l.useGlobalSize(),m=e.reactive({value:a.withDefineType(),loading:!1,selectorData:a.withDefineType([]),debut:!0,echo:!(t.data?.length>0),nextRefresh:!1}),y=e.ref(),g=async()=>{if(t.requestApi){m.loading=!0;const l=t.initParam??{};try{const e=await t.requestApi(l);m.echo=!1,t.pageResult?m.selectorData=e.rows:m.selectorData=e,d("dataChangeCallBack",m.selectorData)}catch(e){a.consoleError("FaSelect",e),m.selectorData=[]}finally{m.loading=!1}}else m.echo=!1,m.selectorData=t.data},b=e=>{if(t.multiple){const l=e;if(0===l?.length)return m.value=null,c.value=null,d("update:modelValue",null),void d("change",null,null);const t=m.selectorData.filter(e=>l.includes(e.value));m.value=e,c.value=t.map(e=>e.label),d("update:modelValue",e),d("change",t,e)}else{if(r.isNil(e))return m.value=null,c.value=null,d("update:modelValue",null),void d("change",null,null);const l=m.selectorData.find(l=>l.value===e);m.value=e,c.value=l.label,d("update:modelValue",e),d("change",l,e)}},v=()=>{m.value=null,c.value=null,d("update:modelValue",null),d("clear")},h=async e=>{e&&(m.debut?(m.debut=!1,!t.defaultSelected&&t.lazy&&await g()):m.nextRefresh&&(m.nextRefresh=!1,await g())),d("visible-change",e)};e.watch(()=>t.modelValue,e=>{if(m.echo&&!r.isNil(e)){const l=!r.isNil(t.label);if(t.multiple){if(!r.isArray(e))return void a.consoleError("FaSelectV2","当启用 multiple 时,传入的 modelValue 必须是Array。");if(l&&!r.isArray(t.label))return void a.consoleError("FaSelectV2","当启用 multiple 时,传入的 modelValue:label 必须是Array。");m.selectorData=e.slice(0,t.multipleLimit>0?t.multipleLimit:e.length).map((e,a)=>({value:e,label:l?t.label[a]:void 0}))}else{if(r.isArray(e))return void a.consoleError("FaSelectV2","当禁用 multiple 时,传入的 modelValue 不能是Array。");if(l&&r.isArray(t.label))return void a.consoleError("FaSelectV2","当禁用 multiple 时,传入的 modelValue:label 不能是Array。");m.selectorData=[{value:e,label:t.label}]}}m.value=e},{immediate:!0}),e.onMounted(async()=>{t.defaultSelected?(await g(),m.selectorData.length>0&&b(t.multiple?[m.selectorData[0].value]:m.selectorData[0].value)):!t.requestApi&&t.data?.length>0?(m.debut=!1,await g()):t.lazy||await g(),e.watch(()=>t.initParam,(e,l)=>{r.isEqual(e,l)||(m.nextRefresh=!0,r.isNil(m.value)||b())}),e.watch(()=>t.data,async()=>{t.requestApi||await g()},{deep:!0})});const S=a.useProps(t,i,["modelValue","popperClass","loading","options","itemHeight"]),T=a.useEmits(s,d,["update:modelValue","change","clear","visible-change"]),V=e.computed(()=>{let e=`fa-select-v2-dropdown ${t.popperClass}`;return t.moreDetail&&(e+=` fa-select-dropdown__more-detail fa-select-dropdown__more-detail-${f.value}`),e});return a.useRender(()=>e.createVNode(l.ElSelectV2,e.mergeProps(S.value,T.value,{ref:y,class:"fa-select-v2",popperClass:V.value,style:{width:a.addUnit(t.width)},modelValue:m.value,"onUpdate:modelValue":e=>m.value=e,loading:m.loading,options:m.selectorData,itemHeight:t.itemHeight+("small"===f.value?0:8),onChange:b,onClear:v,onVisibleChange:h}),{...n.default&&{default:({item:e,index:l,disabled:t})=>n.default({item:e,index:l,disabled:t})},...n.header&&{header:()=>n.header()},...n.footer&&{footer:()=>n.footer()},...n.prefix&&{prefix:()=>n.prefix()},...n.empty&&{empty:()=>n.empty()},...n.tag&&{tag:()=>n.tag()},...n.loading&&{loading:()=>n.loading()},...n.label&&{label:({label:e,value:l})=>n.label({label:e,value:l})}})),a.useExpose(p,{focus:e.computed(()=>y.value?.focus),blur:e.computed(()=>y.value?.blur),selectedLabel:e.computed(()=>y.value?.selectedLabel),loading:e.computed(()=>m.loading),refresh:g,setSelection:e=>b(e),clearSelection:()=>b(null)})}});exports.SelectV2Props=i,exports.default=d,exports.faSelectV2Emits=s,exports.faSelectV2Props=n,exports.selectV2Emits=u;
2
2
  //# sourceMappingURL=selectV2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectV2.js","sources":["../../../../../packages/components/selectV2/src/selectV2.tsx"],"sourcesContent":["import { computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElSelectV2, tagProps, useAriaProps, useEmptyValuesProps, useGlobalSize, useSizeProp, useTooltipContentProps } from \"element-plus\";\nimport { CircleClose } from \"@element-plus/icons-vue\";\nimport { addUnit, consoleError, definePropType, makeSlots, useExpose, useProps, useRender, withDefineType } from \"@fast-china/utils\";\nimport { useVModel } from \"@vueuse/core\";\nimport { isArray, isBoolean, isEqual, isNil, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport type { ElSelectorOutput } from \"@fast-element-plus/components/select/src/select.type\";\nimport type { PagedInput, PagedResult } from \"@fast-element-plus/components/table\";\nimport type { Options, Placement, PopperEffect } from \"element-plus\";\nimport type { Component, VNode } from \"vue\";\n\ntype Props = {\n\tlabel?: string;\n\tvalue?: string;\n\tdisabled?: string;\n\toptions?: string;\n};\n\nexport const SelectV2Props = {\n\t/**\n\t * @description whether creating new items is allowed. To use this, `filterable` must be true\n\t */\n\tallowCreate: Boolean,\n\t/**\n\t * @description autocomplete of select input\n\t */\n\tautocomplete: {\n\t\ttype: definePropType<\"none\" | \"both\" | \"list\" | \"inline\">(String),\n\t\tdefault: \"none\",\n\t},\n\t/**\n\t * @description for non-filterable Select, this prop decides if the option menu pops up when the input is focused\n\t */\n\tautomaticDropdown: Boolean,\n\t/**\n\t * @description whether select can be cleared\n\t */\n\tclearable: Boolean,\n\t/**\n\t * @description custom clear icon\n\t */\n\tclearIcon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: CircleClose,\n\t},\n\t/**\n\t * @description tooltip theme, built-in theme: `dark` / `light`\n\t */\n\teffect: {\n\t\ttype: definePropType<PopperEffect | string>(String),\n\t\tdefault: \"light\",\n\t},\n\t/**\n\t * @description whether to collapse tags to a text when multiple selecting\n\t */\n\tcollapseTags: Boolean,\n\t/**\n\t * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n\t */\n\tcollapseTagsTooltip: Boolean,\n\t/**\n\t * @description The max tags number to be shown. To use this, `collapse-tags` must be true\n\t */\n\tmaxCollapseTags: {\n\t\ttype: Number,\n\t\tdefault: 1,\n\t},\n\t/**\n\t * @description\n\t */\n\tdefaultFirstOption: Boolean,\n\t/**\n\t * @description is disabled\n\t */\n\tdisabled: Boolean,\n\t/**\n\t * @description\n\t */\n\testimatedOptionHeight: {\n\t\ttype: Number,\n\t\tdefault: undefined,\n\t},\n\t/**\n\t * @description is filterable\n\t */\n\tfilterable: Boolean,\n\t/**\n\t * @description\n\t */\n\tfilterMethod: Function,\n\t/**\n\t * @description The height of the dropdown panel, 34px for each item\n\t */\n\theight: {\n\t\ttype: Number,\n\t\tdefault: 274, // same as select dropdown menu\n\t},\n\t/**\n\t * @description The height of the dropdown item\n\t */\n\titemHeight: {\n\t\ttype: Number,\n\t\tdefault: 34,\n\t},\n\t/**\n\t * @description\n\t */\n\tid: String,\n\t/**\n\t * @description whether Select is loading data from server\n\t */\n\tloading: Boolean,\n\t/**\n\t * @description displayed text while loading data from server, default is 'Loading'\n\t */\n\tloadingText: String,\n\t/**\n\t * @description biding value\n\t */\n\tmodelValue: {\n\t\ttype: definePropType<any[] | string | number | boolean | Record<string, any> | any>([Array, String, Number, Boolean, Object]),\n\t},\n\t/**\n\t * @description is multiple\n\t */\n\tmultiple: Boolean,\n\t/**\n\t * @description maximum number of options user can select when multiple is true. No limit when set to 0\n\t */\n\tmultipleLimit: {\n\t\ttype: Number,\n\t\tdefault: 0,\n\t},\n\t/**\n\t * @description the name attribute of select input\n\t */\n\tname: String,\n\t/**\n\t * @description displayed text when there is no options, you can also use slot empty, the default is 'No Data'\n\t */\n\tnoDataText: String,\n\t/**\n\t * @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data'\n\t */\n\tnoMatchText: String,\n\t/**\n\t * @description function that gets called when the input value changes. Its parameter is the current input value. To use this, `filterable` must be true\n\t */\n\tremoteMethod: Function,\n\t/**\n\t * @description whether reserve the keyword after select filtered option.\n\t */\n\treserveKeyword: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description data of the options, the key of `value` and `label` can be customize by `props`\n\t */\n\toptions: {\n\t\ttype: definePropType<\n\t\t\t(\n\t\t\t\t| Record<string, any>\n\t\t\t\t| (Record<string, any> & {\n\t\t\t\t\t\tcreated?: boolean;\n\t\t\t\t })\n\t\t\t)[]\n\t\t>(Array),\n\t\t// required: true,\n\t},\n\t/**\n\t * @description placeholder, the default is 'Please select'\n\t */\n\tplaceholder: {\n\t\ttype: String,\n\t},\n\t/**\n\t * @description whether select dropdown is teleported to the body\n\t */\n\tteleported: useTooltipContentProps.teleported,\n\t/**\n\t * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed\n\t */\n\tpersistent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description custom class name for Select's dropdown\n\t */\n\tpopperClass: {\n\t\ttype: String,\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n\t */\n\tpopperOptions: {\n\t\ttype: definePropType<Partial<Options>>(Object),\n\t\tdefault: (): Partial<Options> => ({}),\n\t},\n\t/**\n\t * @description whether search data from server\n\t */\n\tremote: Boolean,\n\t/**\n\t * @description size of component\n\t */\n\tsize: useSizeProp,\n\t/**\n\t * @description configuration options, see the following table\n\t */\n\tprops: {\n\t\ttype: definePropType<Props>(Object),\n\t\tdefault: (): Required<Props> => ({\n\t\t\tlabel: \"label\",\n\t\t\tvalue: \"value\",\n\t\t\tdisabled: \"disabled\",\n\t\t\toptions: \"options\",\n\t\t}),\n\t},\n\t/**\n\t * @description unique identity key name for value, required when value is an object\n\t */\n\tvalueKey: {\n\t\ttype: String,\n\t\tdefault: \"value\",\n\t},\n\t/**\n\t * @description Controls whether the scrollbar is always displayed\n\t */\n\tscrollbarAlwaysOn: Boolean,\n\t/**\n\t * @description whether to trigger form validation\n\t */\n\tvalidateEvent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description offset of the dropdown\n\t */\n\toffset: {\n\t\ttype: Number,\n\t\tdefault: 12,\n\t},\n\t/**\n\t * @description Determines whether the arrow is displayed\n\t */\n\tshowArrow: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description position of dropdown\n\t */\n\tplacement: {\n\t\ttype: definePropType<Placement>(String),\n\t\tdefault: \"bottom-start\",\n\t},\n\t/**\n\t * @description list of possible positions for dropdown\n\t */\n\tfallbackPlacements: {\n\t\ttype: definePropType<Placement[]>(Array),\n\t\tdefault: [\"bottom-start\", \"top-start\", \"right\", \"left\"],\n\t},\n\t/**\n\t * @description tag type\n\t */\n\ttagType: { ...tagProps.type, default: \"info\" },\n\t/**\n\t * @description tag effect\n\t */\n\ttagEffect: { ...tagProps.effect, default: \"light\" },\n\t/**\n\t * @description tabindex for input\n\t */\n\ttabindex: {\n\t\ttype: [String, Number],\n\t\tdefault: 0,\n\t},\n\t/**\n\t * @description which element the select dropdown appends to\n\t */\n\tappendTo: String,\n\t...useEmptyValuesProps,\n\t...useAriaProps([\"ariaLabel\"]),\n};\n\nexport type SelectComponentProps = {\n\t/** @description 指定标签为节点的某个属性值 */\n\tlabel?: string | ((data: any) => string);\n\t/** @description 指定是否隐藏为节点的某个属性值 */\n\thide?: string | ((data: any) => boolean);\n\t/** @description 指定是否禁用为节点的某个属性值 */\n\tdisabled?: string | ((data: any) => boolean);\n\t/** @description 指定子节点对象为节点的某个属性值 */\n\tchildren?: string;\n};\n\nexport const faSelectV2Props = {\n\t...SelectV2Props,\n\t/** @description displayed text while loading data from server, default is 'Loading' */\n\tloadingText: {\n\t\ttype: String,\n\t\tdefault: \"加载中...\",\n\t},\n\t/** @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data' */\n\tnoMatchText: {\n\t\ttype: String,\n\t\tdefault: \"暂无匹配的数据\",\n\t},\n\t/** @description displayed text when there is no options, you can also use slot `empty`, default is 'No data' */\n\tnoDataText: {\n\t\ttype: String,\n\t\tdefault: \"暂无数据\",\n\t},\n\t/** @description whether to collapse tags to a text when multiple selecting */\n\tcollapseTags: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true */\n\tcollapseTagsTooltip: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description v-model绑定值 */\n\tmodelValue: {\n\t\ttype: definePropType<string | number | boolean | object | (string | number | boolean | object)[]>([String, Number, Boolean, Object, Array]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: definePropType<string | string[]>([String, Array]),\n\t/** @description 宽度 */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"100%\",\n\t},\n\t/** @description 更多细节,只有使用slot的时候有用 */\n\tmoreDetail: Boolean,\n\t/** @description 懒加载远程数据,默认 true。当下拉框第一次显示的时候才会加载远程数据*/\n\tlazy: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 默认选中。不能和懒加载一起使用 */\n\tdefaultSelected: Boolean,\n\t/** @description 下拉框数据 */\n\tdata: {\n\t\ttype: definePropType<ElSelectorOutput[]>(Array),\n\t\tdefault: (): ElSelectorOutput[] => [],\n\t},\n\t/** 分页返回 */\n\tpageResult: Boolean,\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<((params?: any) => Promise<ElSelectorOutput[]>) | ((params?: PagedInput) => Promise<PagedResult<ElSelectorOutput>>)>(\n\t\t\tFunction\n\t\t),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n};\n\nexport const faSelectV2Emits = {\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: string | number | boolean | object | (string | number | boolean | object)[]): boolean =>\n\t\tisString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value),\n\t/** @description v-model:label 回调 */\n\t\"update:label\": (value: string | string[]): boolean => isString(value) || isArray(value) || isNull(value),\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElSelectorOutput[] | any[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (\n\t\tdata: ElSelectorOutput | ElSelectorOutput[] | any | any[],\n\t\tvalue?: string | number | boolean | object | (string | number | boolean | object)[]\n\t): boolean =>\n\t\t(isObject(data) || isArray(data) || isNull(data)) &&\n\t\t(isString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value)),\n\t/** @description 下拉框出现/隐藏时触发 */\n\tvisibleChange: (visible: boolean): boolean => isBoolean(visible),\n\t/** @description 多选模式下移除tag时触发 */\n\tremoveTag: (tagValue: any): boolean => isString(tagValue) || isNumber(tagValue) || isBoolean(tagValue) || isObject(tagValue) || isArray(tagValue),\n\t/** @description 可清空的单选模式下用户点击清空按钮时触发 */\n\tclear: (): boolean => true,\n\t/** @description 当 input 失去焦点时触发 */\n\tblur: (event: FocusEvent): boolean => event instanceof FocusEvent,\n\t/** @description 当 input 获得焦点时触发 */\n\tfocus: (event: FocusEvent): boolean => event instanceof FocusEvent,\n};\n\ntype FaSelectV2Slots = {\n\t/** @description FaSelectOption 默认内容插槽 */\n\tdefault: { item: ElSelectorOutput; index: number; disabled: boolean };\n\t/** @description 下拉列表顶部的内容 */\n\theader: never;\n\t/** @description 下拉列表底部的内容 */\n\tfooter: never;\n\t/** @description Select 组件头部内容 */\n\tprefix: never;\n\t/** @description 无选项时的列表 */\n\tempty: never;\n\t/** @description select 组件自定义标签内容 */\n\ttag: never;\n\t/** @description select 组件自定义 loading内容 */\n\tloading: never;\n\t/** @description select 组件自定义标签内容 */\n\tlabel: { label: string; value: string | number | boolean | object };\n};\n\nexport default defineComponent({\n\tname: \"FaSelectV2\",\n\tprops: faSelectV2Props,\n\temits: faSelectV2Emits,\n\tslots: makeSlots<FaSelectV2Slots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst selectedLabel = useVModel(props, \"label\", emit, { passive: true });\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tvalue: withDefineType<string | number | boolean | object | (string | number | boolean | object)[]>(),\n\t\t\tloading: false,\n\t\t\tselectorData: withDefineType<ElSelectorOutput[]>([]),\n\t\t\t/** 首次出现 */\n\t\t\tdebut: true,\n\t\t\t/** 回显 */\n\t\t\techo: props.data?.length > 0 ? false : true,\n\t\t\t/** 下次刷新 */\n\t\t\tnextRefresh: false,\n\t\t});\n\n\t\tconst selectV2Ref = ref<InstanceType<typeof ElSelectV2>>();\n\n\t\tconst loadData = async (): Promise<void> => {\n\t\t\t// 判断是否需要自动请求\n\t\t\tif (props.requestApi) {\n\t\t\t\tstate.loading = true;\n\t\t\t\tconst params = props.initParam ?? {};\n\t\t\t\ttry {\n\t\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t\t// 这里不允许回显了\n\t\t\t\t\tstate.echo = false;\n\t\t\t\t\t// 判断是否为分页返回\n\t\t\t\t\tif (props.pageResult) {\n\t\t\t\t\t\tstate.selectorData = (resData as PagedResult<ElSelectorOutput>).rows;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate.selectorData = resData as ElSelectorOutput[];\n\t\t\t\t\t}\n\t\t\t\t\temit(\"dataChangeCallBack\", state.selectorData);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsoleError(\"FaSelect\", error);\n\t\t\t\t\tstate.selectorData = [];\n\t\t\t\t} finally {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// 这里不允许回显了\n\t\t\t\tstate.echo = false;\n\t\t\t\tstate.selectorData = props.data;\n\t\t\t}\n\t\t};\n\n\t\tconst handleChange = (value?: string | number | boolean | object | (string | number | boolean | object)[]): void => {\n\t\t\t// 判断是否为多选\n\t\t\tif (props.multiple) {\n\t\t\t\t// value 必然是数组\n\t\t\t\tconst valueArr = value as (string | number | boolean | object)[];\n\t\t\t\tif (valueArr?.length === 0) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst dataList = state.selectorData.filter((f) => valueArr.includes(f.value));\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = dataList.map((m) => m.label);\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", dataList, value);\n\t\t\t} else {\n\t\t\t\t// value 必然不是数组\n\t\t\t\tif (isNil(value)) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst data = state.selectorData.find((f) => f.value === value);\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = data.label;\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", data, value);\n\t\t\t}\n\t\t};\n\n\t\tconst handleClear = (): void => {\n\t\t\tstate.value = null;\n\t\t\tselectedLabel.value = null;\n\t\t\temit(\"clear\");\n\t\t};\n\n\t\tconst handleVisibleChange = async (visible: boolean): Promise<void> => {\n\t\t\tif (visible) {\n\t\t\t\tif (state.debut) {\n\t\t\t\t\t// 首次出现\n\t\t\t\t\tstate.debut = false;\n\t\t\t\t\t// 懒加载\n\t\t\t\t\t!props.defaultSelected && props.lazy && (await loadData());\n\t\t\t\t} else {\n\t\t\t\t\t// 判断再次出现是否需要刷新数据\n\t\t\t\t\tif (state.nextRefresh) {\n\t\t\t\t\t\tstate.nextRefresh = false;\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"visibleChange\", visible);\n\t\t};\n\n\t\twatch(\n\t\t\t() => props.modelValue,\n\t\t\t(newValue) => {\n\t\t\t\tif (state.echo && !isNil(newValue)) {\n\t\t\t\t\tconst hasLabel = !isNil(props.label);\n\t\t\t\t\t// 判断是否为多选\n\t\t\t\t\tif (props.multiple) {\n\t\t\t\t\t\t// 判断是否为数组\n\t\t\t\t\t\tif (!isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectV2\", \"当启用 multiple 时,传入的 modelValue 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && !isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectV2\", \"当启用 multiple 时,传入的 modelValue:label 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = newValue\n\t\t\t\t\t\t\t// 最大选项截取\n\t\t\t\t\t\t\t.slice(0, props.multipleLimit > 0 ? props.multipleLimit : newValue.length)\n\t\t\t\t\t\t\t.map((item, index) => ({\n\t\t\t\t\t\t\t\tvalue: item,\n\t\t\t\t\t\t\t\tlabel: hasLabel ? props.label[index] : undefined,\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectV2\", \"当禁用 multiple 时,传入的 modelValue 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectV2\", \"当禁用 multiple 时,传入的 modelValue:label 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: newValue,\n\t\t\t\t\t\t\t\tlabel: props.label,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstate.value = newValue;\n\t\t\t},\n\t\t\t{\n\t\t\t\timmediate: true,\n\t\t\t}\n\t\t);\n\n\t\tonMounted(async () => {\n\t\t\tif (props.defaultSelected) {\n\t\t\t\tawait loadData();\n\t\t\t\tif (state.selectorData.length > 0) {\n\t\t\t\t\thandleChange(props.multiple ? [state.selectorData[0].value] : state.selectorData[0].value);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 判断是否为本地数据\n\t\t\telse if (!props.requestApi && props.data?.length > 0) {\n\t\t\t\tstate.debut = false;\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\t// 判断是否非默认选中,且未启用懒加载\n\t\t\telse if (!props.lazy) {\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\twatch(\n\t\t\t\t() => props.initParam,\n\t\t\t\t(newValue, oldValue) => {\n\t\t\t\t\tif (!isEqual(newValue, oldValue)) {\n\t\t\t\t\t\tstate.nextRefresh = true;\n\t\t\t\t\t\tif (!isNil(state.value)) {\n\t\t\t\t\t\t\thandleChange();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\twatch(\n\t\t\t\t() => props.data,\n\t\t\t\tasync () => {\n\t\t\t\t\tif (!props.requestApi) {\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ deep: true }\n\t\t\t);\n\t\t});\n\n\t\tconst elSelectV2Props = useProps(props, SelectV2Props, [\"modelValue\", \"popperClass\", \"loading\", \"options\", \"itemHeight\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElSelectV2\n\t\t\t\t{...elSelectV2Props.value}\n\t\t\t\tref={selectV2Ref}\n\t\t\t\tclass=\"fa-select-v2\"\n\t\t\t\tpopperClass={`${props.moreDetail && `fa-select-v2-dropdown__more-detail`} ${props.popperClass}`}\n\t\t\t\tstyle={{ width: addUnit(props.width) }}\n\t\t\t\tvModel={state.value}\n\t\t\t\tloading={state.loading}\n\t\t\t\toptions={state.selectorData}\n\t\t\t\titemHeight={props.itemHeight + (_globalSize.value === \"small\" ? 0 : 8)}\n\t\t\t\tonChange={handleChange}\n\t\t\t\tonClear={handleClear}\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t\tonRemoveTag={(tagValue: any) => emit(\"removeTag\", tagValue)}\n\t\t\t\tonBlur={(event: FocusEvent) => emit(\"blur\", event)}\n\t\t\t\tonFocus={(event: FocusEvent) => emit(\"focus\", event)}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\t...(slots.default && {\n\t\t\t\t\t\tdefault: ({ item, index, disabled }: { item: ElSelectorOutput; index: number; disabled: boolean }): VNode[] =>\n\t\t\t\t\t\t\tslots.default({ item, index, disabled }),\n\t\t\t\t\t}),\n\t\t\t\t\t...(slots.header && { header: (): VNode[] => slots.header() }),\n\t\t\t\t\t...(slots.footer && { footer: (): VNode[] => slots.footer() }),\n\t\t\t\t\t...(slots.prefix && { prefix: (): VNode[] => slots.prefix() }),\n\t\t\t\t\t...(slots.empty && { empty: (): VNode[] => slots.empty() }),\n\t\t\t\t\t...(slots.tag && { tag: (): VNode[] => slots.tag() }),\n\t\t\t\t\t...(slots.loading && { loading: (): VNode[] => slots.loading() }),\n\t\t\t\t\t...(slots.label && {\n\t\t\t\t\t\tlabel: ({ label, value }: { label: string; value: string | number | boolean | object }): VNode[] =>\n\t\t\t\t\t\t\tslots.label({ label, value }),\n\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElSelectV2>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 使选择器的输入框获取焦点 */\n\t\t\tfocus: computed(() => selectV2Ref.value?.focus),\n\t\t\t/** @description 使选择器的输入框失去焦点,并隐藏下拉框 */\n\t\t\tblur: computed(() => selectV2Ref.value?.blur),\n\t\t\t/** @description 获取当前选中的标签 */\n\t\t\tselectedLabel: computed(() => selectV2Ref.value?.selectedLabel),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 刷新 */\n\t\t\trefresh: loadData,\n\t\t\t/** @description 设置选择 */\n\t\t\tsetSelection: (value: string | number | boolean | object | (string | number | boolean | object)[]) => handleChange(value),\n\t\t\t/** @description 清除选择 */\n\t\t\tclearSelection: () => handleChange(null),\n\t\t});\n\t},\n});\n"],"names":["SelectV2Props","allowCreate","Boolean","autocomplete","type","definePropType","String","default","automaticDropdown","clearable","clearIcon","Object","Function","CircleClose","effect","collapseTags","collapseTagsTooltip","maxCollapseTags","Number","defaultFirstOption","disabled","estimatedOptionHeight","undefined","filterable","filterMethod","height","itemHeight","id","loading","loadingText","modelValue","Array","multiple","multipleLimit","name","noDataText","noMatchText","remoteMethod","reserveKeyword","options","placeholder","teleported","useTooltipContentProps","persistent","popperClass","popperOptions","remote","size","useSizeProp","props","label","value","valueKey","scrollbarAlwaysOn","validateEvent","offset","showArrow","placement","fallbackPlacements","tagType","tagProps","tagEffect","tabindex","appendTo","useEmptyValuesProps","useAriaProps","faSelectV2Props","width","moreDetail","lazy","defaultSelected","data","pageResult","requestApi","initParam","faSelectV2Emits","isString","isNumber","isBoolean","isObject","isArray","isNull","dataChangeCallBack","change","visibleChange","visible","removeTag","tagValue","clear","blur","event","FocusEvent","focus","SelectV2","emits","slots","makeSlots","setup","attrs","emit","expose","selectedLabel","useVModel","passive","_globalSize","useGlobalSize","state","reactive","withDefineType","selectorData","debut","echo","length","nextRefresh","selectV2Ref","ref","loadData","async","params","resData","rows","error","consoleError","handleChange","valueArr","dataList","filter","includes","f","map","m","isNil","find","handleClear","handleVisibleChange","watch","newValue","hasLabel","slice","item","index","immediate","onMounted","oldValue","isEqual","deep","elSelectV2Props","useProps","useRender","_createVNode","ElSelectV2","_mergeProps","class","style","addUnit","$event","onChange","onClear","onVisibleChange","onRemoveTag","onBlur","onFocus","header","footer","prefix","empty","tag","useExpose","computed","refresh","setSelection","clearSelection"],"mappings":"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"}
1
+ {"version":3,"file":"selectV2.js","sources":["../../../../../packages/components/selectV2/src/selectV2.tsx"],"sourcesContent":["import { computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElSelectV2, tagProps, useAriaProps, useEmptyValuesProps, useGlobalSize, useSizeProp, useTooltipContentProps } from \"element-plus\";\nimport { CircleClose } from \"@element-plus/icons-vue\";\nimport { addUnit, consoleError, definePropType, makeSlots, useEmits, useExpose, useProps, useRender, withDefineType } from \"@fast-china/utils\";\nimport { useVModel } from \"@vueuse/core\";\nimport { isArray, isBoolean, isEqual, isNil, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport type { ElSelectorOutput } from \"@fast-element-plus/components/select/src/select.type\";\nimport type { PagedInput, PagedResult } from \"@fast-element-plus/components/table\";\nimport type { Options, Placement, PopperEffect } from \"element-plus\";\nimport type { Component, VNode } from \"vue\";\n\ntype Props = {\n\tlabel?: string;\n\tvalue?: string;\n\tdisabled?: string;\n\toptions?: string;\n};\n\nexport const SelectV2Props = {\n\t/**\n\t * @description whether creating new items is allowed. To use this, `filterable` must be true\n\t */\n\tallowCreate: Boolean,\n\t/**\n\t * @description autocomplete of select input\n\t */\n\tautocomplete: {\n\t\ttype: definePropType<\"none\" | \"both\" | \"list\" | \"inline\">(String),\n\t\tdefault: \"none\",\n\t},\n\t/**\n\t * @description for non-filterable Select, this prop decides if the option menu pops up when the input is focused\n\t */\n\tautomaticDropdown: Boolean,\n\t/**\n\t * @description whether select can be cleared\n\t */\n\tclearable: Boolean,\n\t/**\n\t * @description custom clear icon\n\t */\n\tclearIcon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: CircleClose,\n\t},\n\t/**\n\t * @description tooltip theme, built-in theme: `dark` / `light`\n\t */\n\teffect: {\n\t\ttype: definePropType<PopperEffect | string>(String),\n\t\tdefault: \"light\",\n\t},\n\t/**\n\t * @description whether to collapse tags to a text when multiple selecting\n\t */\n\tcollapseTags: Boolean,\n\t/**\n\t * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true\n\t */\n\tcollapseTagsTooltip: Boolean,\n\t/**\n\t * @description The max tags number to be shown. To use this, `collapse-tags` must be true\n\t */\n\tmaxCollapseTags: {\n\t\ttype: Number,\n\t\tdefault: 1,\n\t},\n\t/**\n\t * @description\n\t */\n\tdefaultFirstOption: Boolean,\n\t/**\n\t * @description is disabled\n\t */\n\tdisabled: Boolean,\n\t/**\n\t * @description\n\t */\n\testimatedOptionHeight: {\n\t\ttype: Number,\n\t\tdefault: undefined,\n\t},\n\t/**\n\t * @description is filterable\n\t */\n\tfilterable: Boolean,\n\t/**\n\t * @description\n\t */\n\tfilterMethod: Function,\n\t/**\n\t * @description The height of the dropdown panel, 34px for each item\n\t */\n\theight: {\n\t\ttype: Number,\n\t\tdefault: 274, // same as select dropdown menu\n\t},\n\t/**\n\t * @description The height of the dropdown item\n\t */\n\titemHeight: {\n\t\ttype: Number,\n\t\tdefault: 34,\n\t},\n\t/**\n\t * @description\n\t */\n\tid: String,\n\t/**\n\t * @description whether Select is loading data from server\n\t */\n\tloading: Boolean,\n\t/**\n\t * @description displayed text while loading data from server, default is 'Loading'\n\t */\n\tloadingText: String,\n\t/**\n\t * @description biding value\n\t */\n\tmodelValue: {\n\t\ttype: definePropType<any[] | string | number | boolean | Record<string, any> | any>([Array, String, Number, Boolean, Object]),\n\t},\n\t/**\n\t * @description is multiple\n\t */\n\tmultiple: Boolean,\n\t/**\n\t * @description maximum number of options user can select when multiple is true. No limit when set to 0\n\t */\n\tmultipleLimit: {\n\t\ttype: Number,\n\t\tdefault: 0,\n\t},\n\t/**\n\t * @description the name attribute of select input\n\t */\n\tname: String,\n\t/**\n\t * @description displayed text when there is no options, you can also use slot empty, the default is 'No Data'\n\t */\n\tnoDataText: String,\n\t/**\n\t * @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data'\n\t */\n\tnoMatchText: String,\n\t/**\n\t * @description function that gets called when the input value changes. Its parameter is the current input value. To use this, `filterable` must be true\n\t */\n\tremoteMethod: Function,\n\t/**\n\t * @description whether reserve the keyword after select filtered option.\n\t */\n\treserveKeyword: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description data of the options, the key of `value` and `label` can be customize by `props`\n\t */\n\toptions: {\n\t\ttype: definePropType<\n\t\t\t(\n\t\t\t\t| Record<string, any>\n\t\t\t\t| (Record<string, any> & {\n\t\t\t\t\t\tcreated?: boolean;\n\t\t\t\t })\n\t\t\t)[]\n\t\t>(Array),\n\t\t// required: true,\n\t},\n\t/**\n\t * @description placeholder, the default is 'Please select'\n\t */\n\tplaceholder: {\n\t\ttype: String,\n\t},\n\t/**\n\t * @description whether select dropdown is teleported to the body\n\t */\n\tteleported: useTooltipContentProps.teleported,\n\t/**\n\t * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed\n\t */\n\tpersistent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description custom class name for Select's dropdown\n\t */\n\tpopperClass: {\n\t\ttype: String,\n\t\tdefault: \"\",\n\t},\n\t/**\n\t * @description [popper.js](https://popper.js.org/docs/v2/) parameters\n\t */\n\tpopperOptions: {\n\t\ttype: definePropType<Partial<Options>>(Object),\n\t\tdefault: (): Partial<Options> => ({}),\n\t},\n\t/**\n\t * @description whether search data from server\n\t */\n\tremote: Boolean,\n\t/**\n\t * @description size of component\n\t */\n\tsize: useSizeProp,\n\t/**\n\t * @description configuration options, see the following table\n\t */\n\tprops: {\n\t\ttype: definePropType<Props>(Object),\n\t\tdefault: (): Required<Props> => ({\n\t\t\tlabel: \"label\",\n\t\t\tvalue: \"value\",\n\t\t\tdisabled: \"disabled\",\n\t\t\toptions: \"options\",\n\t\t}),\n\t},\n\t/**\n\t * @description unique identity key name for value, required when value is an object\n\t */\n\tvalueKey: {\n\t\ttype: String,\n\t\tdefault: \"value\",\n\t},\n\t/**\n\t * @description Controls whether the scrollbar is always displayed\n\t */\n\tscrollbarAlwaysOn: Boolean,\n\t/**\n\t * @description whether to trigger form validation\n\t */\n\tvalidateEvent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description offset of the dropdown\n\t */\n\toffset: {\n\t\ttype: Number,\n\t\tdefault: 12,\n\t},\n\t/**\n\t * @description Determines whether the arrow is displayed\n\t */\n\tshowArrow: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/**\n\t * @description position of dropdown\n\t */\n\tplacement: {\n\t\ttype: definePropType<Placement>(String),\n\t\tdefault: \"bottom-start\",\n\t},\n\t/**\n\t * @description list of possible positions for dropdown\n\t */\n\tfallbackPlacements: {\n\t\ttype: definePropType<Placement[]>(Array),\n\t\tdefault: [\"bottom-start\", \"top-start\", \"right\", \"left\"],\n\t},\n\t/**\n\t * @description tag type\n\t */\n\ttagType: { ...tagProps.type, default: \"info\" },\n\t/**\n\t * @description tag effect\n\t */\n\ttagEffect: { ...tagProps.effect, default: \"light\" },\n\t/**\n\t * @description tabindex for input\n\t */\n\ttabindex: {\n\t\ttype: [String, Number],\n\t\tdefault: 0,\n\t},\n\t/**\n\t * @description which element the select dropdown appends to\n\t */\n\tappendTo: String,\n\t...useEmptyValuesProps,\n\t...useAriaProps([\"ariaLabel\"]),\n};\n\nexport const selectV2Emits = {\n\t\"update:modelValue\": (value: string | number | boolean | object | (string | number | boolean | object)[]): boolean => true,\n\tchange: (val: string | number | boolean | object | (string | number | boolean | object)[]): boolean => true,\n\t\"remove-tag\": (val: unknown): boolean => true,\n\t\"visible-change\": (visible: boolean): boolean => true,\n\tfocus: (evt: FocusEvent): boolean => true,\n\tblur: (evt: FocusEvent): boolean => true,\n\tclear: (): boolean => true,\n};\n\nexport const faSelectV2Props = {\n\t...SelectV2Props,\n\t/** @description whether Select is disabled 重载使其支持 ElForm*/\n\tdisabled: {\n\t\ttype: Boolean,\n\t\tdefault: undefined,\n\t},\n\t/** @description displayed text while loading data from server, default is 'Loading' */\n\tloadingText: {\n\t\ttype: String,\n\t\tdefault: \"加载中...\",\n\t},\n\t/** @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data' */\n\tnoMatchText: {\n\t\ttype: String,\n\t\tdefault: \"暂无匹配的数据\",\n\t},\n\t/** @description displayed text when there is no options, you can also use slot `empty`, default is 'No data' */\n\tnoDataText: {\n\t\ttype: String,\n\t\tdefault: \"暂无数据\",\n\t},\n\t/** @description whether to collapse tags to a text when multiple selecting */\n\tcollapseTags: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true */\n\tcollapseTagsTooltip: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description v-model绑定值 */\n\tmodelValue: {\n\t\ttype: definePropType<string | number | boolean | object | (string | number | boolean | object)[]>([String, Number, Boolean, Object, Array]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: definePropType<string | string[]>([String, Array]),\n\t/** @description 宽度 */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"100%\",\n\t},\n\t/** @description 更多细节,只有使用slot的时候有用 */\n\tmoreDetail: Boolean,\n\t/** @description 懒加载远程数据,默认 true。当下拉框第一次显示的时候才会加载远程数据*/\n\tlazy: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 默认选中。不能和懒加载一起使用 */\n\tdefaultSelected: Boolean,\n\t/** @description 下拉框数据 */\n\tdata: {\n\t\ttype: definePropType<ElSelectorOutput[]>(Array),\n\t\tdefault: (): ElSelectorOutput[] => [],\n\t},\n\t/** 分页返回 */\n\tpageResult: Boolean,\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<((params?: any) => Promise<ElSelectorOutput[]>) | ((params?: PagedInput) => Promise<PagedResult<ElSelectorOutput>>)>(\n\t\t\tFunction\n\t\t),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n};\n\nexport const faSelectV2Emits = {\n\t...selectV2Emits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: string | number | boolean | object | (string | number | boolean | object)[]): boolean =>\n\t\tisString(value) || isNumber(value) || isBoolean(value) || isObject(value) || isArray(value) || isNull(value),\n\t/** @description v-model:label 回调 */\n\t\"update:label\": (value: string | string[]): boolean => isString(value) || isArray(value) || isNull(value),\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElSelectorOutput[] | any[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (\n\t\tdata: ElSelectorOutput | ElSelectorOutput[] | any | any[],\n\t\tvalue?: string | number | boolean | object | (string | number | boolean | object)[]\n\t): boolean => true,\n};\n\ntype FaSelectV2Slots = {\n\t/** @description FaSelectOption 默认内容插槽 */\n\tdefault: { item: ElSelectorOutput; index: number; disabled: boolean };\n\t/** @description 下拉列表顶部的内容 */\n\theader: never;\n\t/** @description 下拉列表底部的内容 */\n\tfooter: never;\n\t/** @description Select 组件头部内容 */\n\tprefix: never;\n\t/** @description 无选项时的列表 */\n\tempty: never;\n\t/** @description select 组件自定义标签内容 */\n\ttag: never;\n\t/** @description select 组件自定义 loading内容 */\n\tloading: never;\n\t/** @description select 组件自定义标签内容 */\n\tlabel: { label: string; value: string | number | boolean | object };\n};\n\nexport default defineComponent({\n\tname: \"FaSelectV2\",\n\tprops: faSelectV2Props,\n\temits: faSelectV2Emits,\n\tslots: makeSlots<FaSelectV2Slots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst selectedLabel = useVModel(props, \"label\", emit);\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tvalue: withDefineType<string | number | boolean | object | (string | number | boolean | object)[]>(),\n\t\t\tloading: false,\n\t\t\tselectorData: withDefineType<ElSelectorOutput[]>([]),\n\t\t\t/** 首次出现 */\n\t\t\tdebut: true,\n\t\t\t/** 回显 */\n\t\t\techo: props.data?.length > 0 ? false : true,\n\t\t\t/** 下次刷新 */\n\t\t\tnextRefresh: false,\n\t\t});\n\n\t\tconst selectV2Ref = ref<InstanceType<typeof ElSelectV2>>();\n\n\t\tconst loadData = async (): Promise<void> => {\n\t\t\t// 判断是否需要自动请求\n\t\t\tif (props.requestApi) {\n\t\t\t\tstate.loading = true;\n\t\t\t\tconst params = props.initParam ?? {};\n\t\t\t\ttry {\n\t\t\t\t\tconst resData = await props.requestApi(params);\n\t\t\t\t\t// 这里不允许回显了\n\t\t\t\t\tstate.echo = false;\n\t\t\t\t\t// 判断是否为分页返回\n\t\t\t\t\tif (props.pageResult) {\n\t\t\t\t\t\tstate.selectorData = (resData as PagedResult<ElSelectorOutput>).rows;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate.selectorData = resData as ElSelectorOutput[];\n\t\t\t\t\t}\n\t\t\t\t\temit(\"dataChangeCallBack\", state.selectorData);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsoleError(\"FaSelect\", error);\n\t\t\t\t\tstate.selectorData = [];\n\t\t\t\t} finally {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// 这里不允许回显了\n\t\t\t\tstate.echo = false;\n\t\t\t\tstate.selectorData = props.data;\n\t\t\t}\n\t\t};\n\n\t\tconst handleChange = (value?: string | number | boolean | object | (string | number | boolean | object)[]): void => {\n\t\t\t// 判断是否为多选\n\t\t\tif (props.multiple) {\n\t\t\t\t// value 必然是数组\n\t\t\t\tconst valueArr = value as (string | number | boolean | object)[];\n\t\t\t\tif (valueArr?.length === 0) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst dataList = state.selectorData.filter((f) => valueArr.includes(f.value));\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = dataList.map((m) => m.label);\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", dataList, value);\n\t\t\t} else {\n\t\t\t\t// value 必然不是数组\n\t\t\t\tif (isNil(value)) {\n\t\t\t\t\tstate.value = null;\n\t\t\t\t\tselectedLabel.value = null;\n\t\t\t\t\temit(\"update:modelValue\", null);\n\t\t\t\t\temit(\"change\", null, null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst data = state.selectorData.find((f) => f.value === value);\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = data.label;\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", data, value);\n\t\t\t}\n\t\t};\n\n\t\tconst handleClear = (): void => {\n\t\t\tstate.value = null;\n\t\t\tselectedLabel.value = null;\n\t\t\temit(\"update:modelValue\", null);\n\t\t\temit(\"clear\");\n\t\t};\n\n\t\tconst handleVisibleChange = async (visible: boolean): Promise<void> => {\n\t\t\tif (visible) {\n\t\t\t\tif (state.debut) {\n\t\t\t\t\t// 首次出现\n\t\t\t\t\tstate.debut = false;\n\t\t\t\t\t// 懒加载\n\t\t\t\t\t!props.defaultSelected && props.lazy && (await loadData());\n\t\t\t\t} else {\n\t\t\t\t\t// 判断再次出现是否需要刷新数据\n\t\t\t\t\tif (state.nextRefresh) {\n\t\t\t\t\t\tstate.nextRefresh = false;\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"visible-change\", visible);\n\t\t};\n\n\t\twatch(\n\t\t\t() => props.modelValue,\n\t\t\t(newValue) => {\n\t\t\t\tif (state.echo && !isNil(newValue)) {\n\t\t\t\t\tconst hasLabel = !isNil(props.label);\n\t\t\t\t\t// 判断是否为多选\n\t\t\t\t\tif (props.multiple) {\n\t\t\t\t\t\t// 判断是否为数组\n\t\t\t\t\t\tif (!isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectV2\", \"当启用 multiple 时,传入的 modelValue 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && !isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectV2\", \"当启用 multiple 时,传入的 modelValue:label 必须是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = newValue\n\t\t\t\t\t\t\t// 最大选项截取\n\t\t\t\t\t\t\t.slice(0, props.multipleLimit > 0 ? props.multipleLimit : newValue.length)\n\t\t\t\t\t\t\t.map((item, index) => ({\n\t\t\t\t\t\t\t\tvalue: item,\n\t\t\t\t\t\t\t\tlabel: hasLabel ? props.label[index] : undefined,\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (isArray(newValue)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectV2\", \"当禁用 multiple 时,传入的 modelValue 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (hasLabel && isArray(props.label)) {\n\t\t\t\t\t\t\tconsoleError(\"FaSelectV2\", \"当禁用 multiple 时,传入的 modelValue:label 不能是Array。\");\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstate.selectorData = [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: newValue,\n\t\t\t\t\t\t\t\tlabel: props.label,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstate.value = newValue;\n\t\t\t},\n\t\t\t{\n\t\t\t\timmediate: true,\n\t\t\t}\n\t\t);\n\n\t\tonMounted(async () => {\n\t\t\tif (props.defaultSelected) {\n\t\t\t\tawait loadData();\n\t\t\t\tif (state.selectorData.length > 0) {\n\t\t\t\t\thandleChange(props.multiple ? [state.selectorData[0].value] : state.selectorData[0].value);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 判断是否为本地数据\n\t\t\telse if (!props.requestApi && props.data?.length > 0) {\n\t\t\t\tstate.debut = false;\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\t// 判断是否非默认选中,且未启用懒加载\n\t\t\telse if (!props.lazy) {\n\t\t\t\tawait loadData();\n\t\t\t}\n\t\t\twatch(\n\t\t\t\t() => props.initParam,\n\t\t\t\t(newValue, oldValue) => {\n\t\t\t\t\tif (!isEqual(newValue, oldValue)) {\n\t\t\t\t\t\tstate.nextRefresh = true;\n\t\t\t\t\t\tif (!isNil(state.value)) {\n\t\t\t\t\t\t\thandleChange();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t\twatch(\n\t\t\t\t() => props.data,\n\t\t\t\tasync () => {\n\t\t\t\t\tif (!props.requestApi) {\n\t\t\t\t\t\tawait loadData();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ deep: true }\n\t\t\t);\n\t\t});\n\n\t\tconst elSelectV2Props = useProps(props, SelectV2Props, [\"modelValue\", \"popperClass\", \"loading\", \"options\", \"itemHeight\"]);\n\t\tconst elSelectV2Emits = useEmits(faSelectV2Emits, emit, [\"update:modelValue\", \"change\", \"clear\", \"visible-change\"]);\n\t\tconst elPopperClass = computed(() => {\n\t\t\tlet localClass = `fa-select-v2-dropdown ${props.popperClass}`;\n\t\t\tif (props.moreDetail) {\n\t\t\t\tlocalClass += ` fa-select-dropdown__more-detail fa-select-dropdown__more-detail-${_globalSize.value}`;\n\t\t\t}\n\t\t\treturn localClass;\n\t\t});\n\n\t\tuseRender(() => (\n\t\t\t<ElSelectV2\n\t\t\t\t{...elSelectV2Props.value}\n\t\t\t\t{...elSelectV2Emits.value}\n\t\t\t\tref={selectV2Ref}\n\t\t\t\tclass=\"fa-select-v2\"\n\t\t\t\tpopperClass={elPopperClass.value}\n\t\t\t\tstyle={{ width: addUnit(props.width) }}\n\t\t\t\tvModel={state.value}\n\t\t\t\tloading={state.loading}\n\t\t\t\toptions={state.selectorData}\n\t\t\t\titemHeight={props.itemHeight + (_globalSize.value === \"small\" ? 0 : 8)}\n\t\t\t\tonChange={handleChange}\n\t\t\t\tonClear={handleClear}\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\t...(slots.default && {\n\t\t\t\t\t\tdefault: ({ item, index, disabled }: { item: ElSelectorOutput; index: number; disabled: boolean }): VNode[] =>\n\t\t\t\t\t\t\tslots.default({ item, index, disabled }),\n\t\t\t\t\t}),\n\t\t\t\t\t...(slots.header && { header: (): VNode[] => slots.header() }),\n\t\t\t\t\t...(slots.footer && { footer: (): VNode[] => slots.footer() }),\n\t\t\t\t\t...(slots.prefix && { prefix: (): VNode[] => slots.prefix() }),\n\t\t\t\t\t...(slots.empty && { empty: (): VNode[] => slots.empty() }),\n\t\t\t\t\t...(slots.tag && { tag: (): VNode[] => slots.tag() }),\n\t\t\t\t\t...(slots.loading && { loading: (): VNode[] => slots.loading() }),\n\t\t\t\t\t...(slots.label && {\n\t\t\t\t\t\tlabel: ({ label, value }: { label: string; value: string | number | boolean | object }): VNode[] =>\n\t\t\t\t\t\t\tslots.label({ label, value }),\n\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElSelectV2>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 使选择器的输入框获取焦点 */\n\t\t\tfocus: computed(() => selectV2Ref.value?.focus),\n\t\t\t/** @description 使选择器的输入框失去焦点,并隐藏下拉框 */\n\t\t\tblur: computed(() => selectV2Ref.value?.blur),\n\t\t\t/** @description 获取当前选中的标签 */\n\t\t\tselectedLabel: computed(() => selectV2Ref.value?.selectedLabel),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 刷新 */\n\t\t\trefresh: loadData,\n\t\t\t/** @description 设置选择 */\n\t\t\tsetSelection: (value: string | number | boolean | object | (string | number | boolean | object)[]) => handleChange(value),\n\t\t\t/** @description 清除选择 */\n\t\t\tclearSelection: () => handleChange(null),\n\t\t});\n\t},\n});\n"],"names":["SelectV2Props","allowCreate","Boolean","autocomplete","type","definePropType","String","default","automaticDropdown","clearable","clearIcon","Object","Function","CircleClose","effect","collapseTags","collapseTagsTooltip","maxCollapseTags","Number","defaultFirstOption","disabled","estimatedOptionHeight","undefined","filterable","filterMethod","height","itemHeight","id","loading","loadingText","modelValue","Array","multiple","multipleLimit","name","noDataText","noMatchText","remoteMethod","reserveKeyword","options","placeholder","teleported","useTooltipContentProps","persistent","popperClass","popperOptions","remote","size","useSizeProp","props","label","value","valueKey","scrollbarAlwaysOn","validateEvent","offset","showArrow","placement","fallbackPlacements","tagType","tagProps","tagEffect","tabindex","appendTo","useEmptyValuesProps","useAriaProps","selectV2Emits","change","val","visible","focus","evt","blur","clear","faSelectV2Props","width","moreDetail","lazy","defaultSelected","data","pageResult","requestApi","initParam","faSelectV2Emits","isString","isNumber","isBoolean","isObject","isArray","isNull","dataChangeCallBack","SelectV2","emits","slots","makeSlots","setup","attrs","emit","expose","selectedLabel","useVModel","_globalSize","useGlobalSize","state","reactive","withDefineType","selectorData","debut","echo","length","nextRefresh","selectV2Ref","ref","loadData","async","params","resData","rows","error","consoleError","handleChange","valueArr","dataList","filter","includes","f","map","m","isNil","find","handleClear","handleVisibleChange","watch","newValue","hasLabel","slice","item","index","immediate","onMounted","oldValue","isEqual","deep","elSelectV2Props","useProps","elSelectV2Emits","useEmits","elPopperClass","computed","localClass","useRender","_createVNode","ElSelectV2","_mergeProps","class","style","addUnit","$event","onChange","onClear","onVisibleChange","header","footer","prefix","empty","tag","useExpose","refresh","setSelection","clearSelection"],"mappings":"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"}
@@ -1341,7 +1341,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1341
1341
  onSelect?: (selection: any[], row: any) => any;
1342
1342
  onReset?: (params: PagedInput) => any;
1343
1343
  onRefresh?: (params: PagedInput) => any;
1344
- onCurrentChange?: (currentRow: any, oldCurrentRow: any) => any;
1345
1344
  onSelectAll?: (selection: any[]) => any;
1346
1345
  onSelectionChange?: (newSelection: any[]) => any;
1347
1346
  onCellMouseEnter?: (row: any, column: TableColumnCtx<any>, cell: HTMLTableCellElement, event: Event) => any;
@@ -1360,6 +1359,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1360
1359
  order: "" | "ascending" | "descending";
1361
1360
  }) => any;
1362
1361
  onFilterChange?: (newFilters: any) => any;
1362
+ onCurrentChange?: (currentRow: any, oldCurrentRow: any) => any;
1363
1363
  onHeaderDragend?: (newWidth: number, oldWidth: number, column: TableColumnCtx<any>, event: MouseEvent) => any;
1364
1364
  onExpandChange?: (row: any, expanded: boolean | any[]) => any;
1365
1365
  onSizeChange?: (pageSize: number) => any;
@@ -1380,11 +1380,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1380
1380
  lazy: boolean;
1381
1381
  className: string;
1382
1382
  columns: false | FaTableColumnCtx[];
1383
- scrollbarAlwaysOn: boolean;
1384
- defaultExpandAll: boolean;
1385
- indent: number;
1386
- treeData: boolean;
1387
- pagination: boolean;
1388
1383
  rowKey: string | ((row: any) => string);
1389
1384
  border: boolean;
1390
1385
  highlightCurrentRow: boolean;
@@ -1400,16 +1395,21 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
1400
1395
  toolBtn: boolean;
1401
1396
  hideSearchTime: boolean;
1402
1397
  dataSearchRange: FaTableDataRange;
1398
+ pagination: boolean;
1403
1399
  hideImage: boolean;
1404
1400
  single: boolean;
1405
1401
  rowClickSelection: boolean;
1402
+ treeData: boolean;
1406
1403
  autoRefresh: boolean;
1407
1404
  stripe: boolean;
1408
1405
  showHeader: boolean;
1409
1406
  showSummary: boolean;
1407
+ defaultExpandAll: boolean;
1410
1408
  selectOnIndeterminate: boolean;
1409
+ indent: number;
1411
1410
  treeProps: TreeProps;
1412
1411
  tableLayout: Layout;
1412
+ scrollbarAlwaysOn: boolean;
1413
1413
  flexible: boolean;
1414
1414
  scrollbarTabindex: string | number;
1415
1415
  }, import('vue').SlotsType<Partial<import('@fast-china/utils').MakeSlots<FaTableSlots>>>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;