fast-element-plus 1.0.11 → 1.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.full.js +4036 -3991
- package/dist/index.full.js.map +1 -1
- package/dist/index.full.min.js +1 -1
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +1 -1
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +4036 -3991
- package/dist/index.full.mjs.map +1 -1
- package/dist/styles/index.css +6 -6
- package/es/component.mjs +1 -1
- package/es/component.mjs.map +1 -1
- package/es/components/avatar/src/avatar.d.ts +37 -9
- package/es/components/button/index.d.ts +1 -1
- package/es/components/button/index.mjs +1 -1
- package/es/components/button/index.mjs.map +1 -1
- package/es/components/button/src/button.d.ts +1 -1
- package/es/components/carNumber/index.d.ts +1 -1
- package/es/components/carNumber/index.mjs +1 -1
- package/es/components/carNumber/index.mjs.map +1 -1
- package/es/components/carNumber/src/carNumber.mjs +1 -1
- package/es/components/carNumber/src/carNumber.mjs.map +1 -1
- package/es/components/dialog/src/dialog.d.ts +3 -3
- package/es/components/form/src/form.d.ts +3 -3
- package/es/components/form/src/formItem.d.ts +7 -7
- package/es/components/icon/src/icon.d.ts +3 -3
- package/es/components/image/src/image.d.ts +2 -2
- package/es/components/inputDialogPage/src/inputDialogPage.d.ts +7 -6
- package/es/components/inputDialogPage/src/inputDialogPage.mjs +1 -1
- package/es/components/inputDialogPage/src/inputDialogPage.mjs.map +1 -1
- package/es/components/layoutGrid/src/layoutGrid.d.ts +2 -2
- package/es/components/layoutGrid/src/layoutGridItem.d.ts +4 -4
- package/es/components/select/src/select.d.ts +5 -5
- package/es/components/select/src/select.mjs +1 -1
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/selectPage/src/selectPage.d.ts +4 -4
- package/es/components/selectPage/src/selectPage.mjs +1 -1
- package/es/components/selectPage/src/selectPage.mjs.map +1 -1
- package/es/components/selectV2/src/selectV2.d.ts +9 -9
- package/es/components/selectV2/src/selectV2.mjs +1 -1
- package/es/components/selectV2/src/selectV2.mjs.map +1 -1
- package/es/components/table/src/table.d.ts +32 -25
- package/es/components/table/src/table.mjs +1 -1
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/table/src/tableColumn.d.ts +8 -8
- package/es/components/table/src/tableSearchFormItem.mjs +1 -1
- package/es/components/table/src/tableSearchFormItem.mjs.map +1 -1
- package/es/components/table/src/useTable.d.ts +1 -1
- package/es/components/table/src/useTable.mjs +1 -1
- package/es/components/table/src/useTable.mjs.map +1 -1
- package/es/components/tree/src/tree.d.ts +9 -9
- package/es/components/tree/src/tree.mjs +1 -1
- package/es/components/tree/src/tree.mjs.map +1 -1
- package/es/components/treeSelect/src/treeSelect.d.ts +7 -7
- package/es/components/treeSelect/src/treeSelect.mjs +1 -1
- package/es/components/treeSelect/src/treeSelect.mjs.map +1 -1
- package/es/components/upload/src/upload.d.ts +8 -4
- package/es/components/upload/src/useUpload.d.ts +4 -4
- package/es/components/uploadImage/src/uploadImage.d.ts +17 -13
- package/es/components/uploadImages/src/uploadImages.d.ts +11 -7
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/component.js +1 -1
- package/lib/component.js.map +1 -1
- package/lib/components/avatar/src/avatar.d.ts +37 -9
- package/lib/components/button/index.d.ts +1 -1
- package/lib/components/button/index.js +1 -1
- package/lib/components/button/index.js.map +1 -1
- package/lib/components/button/src/button.d.ts +1 -1
- package/lib/components/carNumber/index.d.ts +1 -1
- package/lib/components/carNumber/index.js +1 -1
- package/lib/components/carNumber/index.js.map +1 -1
- package/lib/components/carNumber/src/carNumber.js +1 -1
- package/lib/components/carNumber/src/carNumber.js.map +1 -1
- package/lib/components/dialog/src/dialog.d.ts +3 -3
- package/lib/components/form/src/form.d.ts +3 -3
- package/lib/components/form/src/formItem.d.ts +7 -7
- package/lib/components/icon/src/icon.d.ts +3 -3
- package/lib/components/image/src/image.d.ts +2 -2
- package/lib/components/inputDialogPage/src/inputDialogPage.d.ts +7 -6
- package/lib/components/inputDialogPage/src/inputDialogPage.js +1 -1
- package/lib/components/inputDialogPage/src/inputDialogPage.js.map +1 -1
- package/lib/components/layoutGrid/src/layoutGrid.d.ts +2 -2
- package/lib/components/layoutGrid/src/layoutGridItem.d.ts +4 -4
- package/lib/components/select/src/select.d.ts +5 -5
- package/lib/components/select/src/select.js +1 -1
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/selectPage/src/selectPage.d.ts +4 -4
- package/lib/components/selectPage/src/selectPage.js +1 -1
- package/lib/components/selectPage/src/selectPage.js.map +1 -1
- package/lib/components/selectV2/src/selectV2.d.ts +9 -9
- package/lib/components/selectV2/src/selectV2.js +1 -1
- package/lib/components/selectV2/src/selectV2.js.map +1 -1
- package/lib/components/table/src/table.d.ts +32 -25
- package/lib/components/table/src/table.js +1 -1
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/table/src/tableColumn.d.ts +8 -8
- package/lib/components/table/src/tableSearchFormItem.js +1 -1
- package/lib/components/table/src/tableSearchFormItem.js.map +1 -1
- package/lib/components/table/src/useTable.d.ts +1 -1
- package/lib/components/table/src/useTable.js +1 -1
- package/lib/components/table/src/useTable.js.map +1 -1
- package/lib/components/tree/src/tree.d.ts +9 -9
- package/lib/components/tree/src/tree.js +1 -1
- package/lib/components/tree/src/tree.js.map +1 -1
- package/lib/components/treeSelect/src/treeSelect.d.ts +7 -7
- package/lib/components/treeSelect/src/treeSelect.js +1 -1
- package/lib/components/treeSelect/src/treeSelect.js.map +1 -1
- package/lib/components/upload/src/upload.d.ts +8 -4
- package/lib/components/upload/src/useUpload.d.ts +4 -4
- package/lib/components/uploadImage/src/uploadImage.d.ts +17 -13
- package/lib/components/uploadImages/src/uploadImages.d.ts +11 -7
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/styles/components/table.scss +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treeSelect.js","sources":["../../../../../packages/components/treeSelect/src/treeSelect.tsx"],"sourcesContent":["import { computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElTreeSelect, selectEmits, treeEmits } from \"element-plus\";\nimport { type SelectComponentProps, SelectProps } from \"@fast-element-plus/components/select/src/select\";\nimport { treeProps } from \"@fast-element-plus/components/tree/src/tree.props\";\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 { FilterValue, TreeNodeData } from \"@fast-element-plus/components/tree/src/tree.props\";\nimport type { ComponentInternalInstance, VNode } from \"vue\";\n\nexport const faTreeSelectProps = {\n\t...SelectProps,\n\t...treeProps,\n\t/**\n\t * 懒加载节点的缓存数据,结构与数据相同,用于获取未加载数据的标签\n\t * @description The cached data of the lazy node, the structure is the same as the data, used to get the label of the unloaded data\n\t */\n\tcacheData: {\n\t\ttype: definePropType<\n\t\t\t{\n\t\t\t\tvalue: string | number | boolean | object;\n\t\t\t\tcurrentLabel: string | number;\n\t\t\t\tisDisabled: boolean;\n\t\t\t}[]\n\t\t>(Array),\n\t\tdefault: [] as {\n\t\t\tvalue: string | number | boolean | object;\n\t\t\tcurrentLabel: string | number;\n\t\t\tisDisabled: boolean;\n\t\t}[],\n\t},\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/** 每个树节点用来作为唯一标识的属性,整棵树应该是唯一的 */\n\tnodeKey: {\n\t\ttype: String,\n\t\tdefault: \"value\",\n\t},\n\t/** @description 是否默认展开所有节点 */\n\tdefaultExpandAll: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否在点击节点的时候选中节点 */\n\tcheckOnClickNode: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否高亮当前选中节点 */\n\thighlightCurrent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否在点击节点的时候展开或者收缩节点, 默认值为 true,如果为 false,则只有点箭头图标的时候才会展开或者收缩节点。 */\n\texpandOnClickNode: Boolean,\n\t/** @description 点击折叠节点,需要开启 'expandOnClickNode' */\n\tcollapseOnClickNode: Boolean,\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\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 下拉框数据 */\n\tdata: {\n\t\ttype: definePropType<ElSelectorOutput[] | any[]>(Array),\n\t\tdefault: (): ElSelectorOutput[] | any[] => [],\n\t},\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<(params?: any) => Promise<ElSelectorOutput[] | any[]>>(Function),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n};\n\nexport const faTreeSelectEmits = {\n\t...selectEmits,\n\t...treeEmits,\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\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 FaTreeSelectSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { node: any; data: ElSelectorOutput };\n\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: \"FaTreeSelect\",\n\tprops: faTreeSelectProps,\n\temits: faTreeSelectEmits,\n\tslots: makeSlots<FaTreeSelectSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst selectedLabel = useVModel(props, \"label\", emit);\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 treeSelectRef = ref<InstanceType<typeof ElTreeSelect>>();\n\n\t\tconst handleData = (data: ElSelectorOutput[] | any[]): 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.nodeKey],\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 (): 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\tstate.selectorData = handleData(resData);\n\t\t\t\t\temit(\"dataChangeCallBack\", state.selectorData);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsoleError(\"FaTreeSelect\", 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 = handleData(props.data);\n\t\t\t}\n\t\t};\n\n\t\tconst handleFilterNode = (value: FilterValue, data: TreeNodeData, child: any): boolean => {\n\t\t\tif (!value) return true;\n\t\t\tlet parentNode = child.parent,\n\t\t\t\tlabels = [child.label],\n\t\t\t\tlevel = 1;\n\t\t\twhile (level < child.level) {\n\t\t\t\tlabels = [...labels, parentNode.label];\n\t\t\t\tparentNode = parentNode.parent;\n\t\t\t\tlevel++;\n\t\t\t}\n\t\t\tconst result = labels.some((label) => label.indexOf(value) !== -1);\n\t\t\tif (props.filterNodeMethod) {\n\t\t\t\treturn result && props.filterNodeMethod(value, data, child);\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tconst handleChange = (value?: string | number | boolean | object | (string | number | boolean | object)[], data?: ElSelectorOutput): 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\tdata ??= 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 handleNodeClick = (data: ElSelectorOutput, node: any, instance: ComponentInternalInstance, event: MouseEvent): void => {\n\t\t\t// 判断是否开启点击展开节点,并且节点是折叠状态,则自动展开,否则需要点击箭头图标才能折叠或开启 'collapseOnClickNode'\n\t\t\tif (props.expandOnClickNode) {\n\t\t\t\tif (!node.expanded) {\n\t\t\t\t\tnode.expand();\n\t\t\t\t} else if (node.expanded && props.collapseOnClickNode) {\n\t\t\t\t\tnode.collapse();\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 判断是否开启了 checkStrictly\n\t\t\tif (props.checkStrictly) {\n\t\t\t\thandleChange(data.value, data);\n\t\t\t} else {\n\t\t\t\tif (node.isLeaf) {\n\t\t\t\t\thandleChange(data.value, data);\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"node-click\", data, node, instance, event);\n\t\t};\n\n\t\t/**\n\t\t * 下拉框出现/隐藏时触发\n\t\t */\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\tprops.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(\"FaTreeSelect\", \"当启用 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(\"FaTreeSelect\", \"当启用 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(\"FaTreeSelect\", \"当禁用 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(\"FaTreeSelect\", \"当禁用 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\tif (props.multiple) {\n\t\t\t\t\t\thandleChange([state.selectorData[0].value]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\thandleChange(state.selectorData[0].value, state.selectorData[0]);\n\t\t\t\t\t}\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 elTreeSelectProps = useProps(props, { ...SelectProps, ...treeProps }, [\n\t\t\t\"modelValue\",\n\t\t\t\"popperClass\",\n\t\t\t\"lazy\",\n\t\t\t\"loading\",\n\t\t\t\"expandOnClickNode\",\n\t\t\t\"filterNodeMethod\",\n\t\t]);\n\t\tconst elTreeSelectEmits = useEmits({ ...selectEmits, ...treeEmits }, emit, [\"update:modelValue\", \"clear\", \"visible-change\", \"node-click\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElTreeSelect\n\t\t\t\t{...elTreeSelectProps.value}\n\t\t\t\t{...elTreeSelectEmits.value}\n\t\t\t\tref={treeSelectRef}\n\t\t\t\tclass=\"fa-tree-select\"\n\t\t\t\tpopperClass={`fa-tree-select-dropdown ${props.popperClass}`}\n\t\t\t\tstyle={{ width: addUnit(props.width) }}\n\t\t\t\tvModel={state.value}\n\t\t\t\tlazy={false}\n\t\t\t\tloading={state.loading}\n\t\t\t\tdata={state.selectorData}\n\t\t\t\texpandOnClickNode={props.checkOnClickNode ? false : props.expandOnClickNode}\n\t\t\t\tfilterNodeMethod={handleFilterNode}\n\t\t\t\tonNodeClick={handleNodeClick}\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: ({ node, data }: { node: any; data: ElSelectorOutput }): VNode[] => slots.default({ node, data }),\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</ElTreeSelect>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t// TODO:这里 EL 没有返回类型,等待下一个版本修复\n\t\t\t// /** @description 使选择器的输入框获取焦点 */\n\t\t\t// focus: computed(() => treeSelectRef.value?.focus),\n\t\t\t// /** @description 使选择器的输入框失去焦点,并隐藏下拉框 */\n\t\t\t// blur: computed(() => treeSelectRef.value?.blur),\n\t\t\t// /** @description 获取当前选中的标签 */\n\t\t\t// selectedLabel: computed(() => treeSelectRef.value?.selectedLabel),\n\n\t\t\t// /** @description 过滤所有树节点,过滤后的节点将被隐藏 */\n\t\t\t// filter: computed(() => treeSelectRef.value?.filter),\n\t\t\t// /** @description 为节点设置新数据,只有当设置 node-key 属性的时候才可用 */\n\t\t\t// updateKeyChildren: computed(() => treeSelectRef.value?.updateKeyChildren),\n\t\t\t// /** @description 如果节点可以被选中,(show-checkbox 为 true), 本方法将返回当前选中节点的数组 */\n\t\t\t// getCheckedNodes: computed(() => treeSelectRef.value?.getCheckedNodes),\n\t\t\t// /** @description 设置目前勾选的节点,使用此方法必须提前设置 node-key 属性 */\n\t\t\t// setCheckedNodes: computed(() => treeSelectRef.value?.setCheckedNodes),\n\t\t\t// /** @description 若节点可用被选中 (show-checkbox 为 true), 它将返回当前选中节点 key 的数组 */\n\t\t\t// getCheckedKeys: computed(() => treeSelectRef.value?.getCheckedKeys),\n\t\t\t// /** @description 设置目前选中的节点,使用此方法必须设置 node-key 属性 */\n\t\t\t// setCheckedKeys: computed(() => treeSelectRef.value?.setCheckedKeys),\n\t\t\t// /** @description 设置节点是否被选中, 使用此方法必须设置 node-key 属性 */\n\t\t\t// setChecked: computed(() => treeSelectRef.value?.setChecked),\n\t\t\t// /** @description 如果节点可用被选中 (show-checkbox 为 true), 它将返回当前半选中的节点组成的数组 */\n\t\t\t// getHalfCheckedNodes: computed(() => treeSelectRef.value?.getHalfCheckedNodes),\n\t\t\t// /** @description 若节点可被选中(show-checkbox 为 true),则返回目前半选中的节点的 key 所组成的数组 */\n\t\t\t// getHalfCheckedKeys: computed(() => treeSelectRef.value?.getHalfCheckedKeys),\n\t\t\t// /** @description 返回当前被选中节点的数据 (如果没有则返回 null) */\n\t\t\t// getCurrentKey: computed(() => treeSelectRef.value?.getCurrentKey),\n\t\t\t// /** @description 返回当前被选中节点的数据 (如果没有则返回 null) */\n\t\t\t// getCurrentNode: computed(() => treeSelectRef.value?.getCurrentNode),\n\t\t\t// /** @description 通过 key 设置某个节点的当前选中状态,使用此方法必须设置 node-key 属性 */\n\t\t\t// setCurrentKey: computed(() => treeSelectRef.value?.setCurrentKey),\n\t\t\t// /** @description 设置节点为选中状态,使用此方法必须设置 node-key 属性 */\n\t\t\t// setCurrentNode: computed(() => treeSelectRef.value?.setCurrentNode),\n\t\t\t// /** @description 根据 data 或者 key 拿到 Tree 组件中的 node */\n\t\t\t// getNode: computed(() => treeSelectRef.value?.getNode),\n\t\t\t// /** @description 删除 Tree 中的一个节点,使用此方法必须设置 node-key 属性 */\n\t\t\t// remove: computed(() => treeSelectRef.value?.remove),\n\t\t\t// /** @description 为 Tree 中的一个节点追加一个子节点 */\n\t\t\t// append: computed(() => treeSelectRef.value?.append),\n\t\t\t// /** @description 在 Tree 中给定节点前插入一个节点 */\n\t\t\t// insertBefore: computed(() => treeSelectRef.value?.insertBefore),\n\t\t\t// /** @description 在 Tree 中给定节点后插入一个节点 */\n\t\t\t// insertAfter: computed(() => treeSelectRef.value?.insertAfter),\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":["faTreeSelectProps","SelectProps","treeProps","cacheData","type","definePropType","Array","default","disabled","Boolean","undefined","loadingText","String","noMatchText","noDataText","collapseTags","collapseTagsTooltip","nodeKey","defaultExpandAll","checkOnClickNode","highlightCurrent","expandOnClickNode","collapseOnClickNode","modelValue","Number","Object","label","width","moreDetail","lazy","defaultSelected","props","hide","children","data","requestApi","Function","initParam","faTreeSelectEmits","selectEmits","treeEmits","value","isString","isNumber","isBoolean","isObject","isArray","isNull","dataChangeCallBack","change","TreeSelect","name","emits","slots","makeSlots","setup","attrs","emit","expose","selectedLabel","useVModel","state","reactive","withDefineType","loading","selectorData","debut","echo","length","nextRefresh","treeSelectRef","ref","handleData","map","m","isFunction","filter","f","loadData","async","params","resData","error","consoleError","handleFilterNode","child","parentNode","parent","labels","level","result","some","indexOf","filterNodeMethod","handleChange","multiple","valueArr","dataList","includes","isNil","find","handleClear","handleNodeClick","node","instance","event","expanded","collapse","expand","checkStrictly","isLeaf","handleVisibleChange","visible","watch","newValue","hasLabel","slice","multipleLimit","item","index","immediate","onMounted","oldValue","isEqual","deep","elTreeSelectProps","useProps","elTreeSelectEmits","useEmits","useRender","_createVNode","ElTreeSelect","_mergeProps","class","popperClass","style","addUnit","$event","onNodeClick","onClear","onVisibleChange","header","footer","prefix","empty","tag","useExpose","computed","refresh","setSelection","clearSelection"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"treeSelect.js","sources":["../../../../../packages/components/treeSelect/src/treeSelect.tsx"],"sourcesContent":["import { computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElTreeSelect, selectEmits, treeEmits } from \"element-plus\";\nimport { type SelectComponentProps, SelectProps } from \"@fast-element-plus/components/select/src/select\";\nimport { treeProps } from \"@fast-element-plus/components/tree/src/tree.props\";\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 { FilterValue, TreeNodeData } from \"@fast-element-plus/components/tree/src/tree.props\";\nimport type { ComponentInternalInstance, VNode } from \"vue\";\n\nexport const faTreeSelectProps = {\n\t...SelectProps,\n\t...treeProps,\n\t/**\n\t * 懒加载节点的缓存数据,结构与数据相同,用于获取未加载数据的标签\n\t * @description The cached data of the lazy node, the structure is the same as the data, used to get the label of the unloaded data\n\t */\n\tcacheData: {\n\t\ttype: definePropType<\n\t\t\t{\n\t\t\t\tvalue: string | number | boolean | object;\n\t\t\t\tcurrentLabel: string | number;\n\t\t\t\tisDisabled: boolean;\n\t\t\t}[]\n\t\t>(Array),\n\t\tdefault: [] as {\n\t\t\tvalue: string | number | boolean | object;\n\t\t\tcurrentLabel: string | number;\n\t\t\tisDisabled: boolean;\n\t\t}[],\n\t},\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/** 每个树节点用来作为唯一标识的属性,整棵树应该是唯一的 */\n\tnodeKey: {\n\t\ttype: String,\n\t\tdefault: \"value\",\n\t},\n\t/** @description 是否默认展开所有节点 */\n\tdefaultExpandAll: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否在点击节点的时候选中节点 */\n\tcheckOnClickNode: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否高亮当前选中节点 */\n\thighlightCurrent: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 是否在点击节点的时候展开或者收缩节点, 默认值为 true,如果为 false,则只有点箭头图标的时候才会展开或者收缩节点。 */\n\texpandOnClickNode: Boolean,\n\t/** @description 点击折叠节点,需要开启 'expandOnClickNode' */\n\tcollapseOnClickNode: Boolean,\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\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 下拉框数据 */\n\tdata: {\n\t\ttype: definePropType<ElSelectorOutput[] | any[]>(Array),\n\t\tdefault: (): ElSelectorOutput[] | any[] => [],\n\t},\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<(params?: any) => Promise<ElSelectorOutput[] | any[]>>(Function),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<string | number | any>([String, Number, Object]),\n};\n\nexport const faTreeSelectEmits = {\n\t...selectEmits,\n\t...treeEmits,\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\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 FaTreeSelectSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { node: any; data: ElSelectorOutput };\n\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: \"FaTreeSelect\",\n\tprops: faTreeSelectProps,\n\temits: faTreeSelectEmits,\n\tslots: makeSlots<FaTreeSelectSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst selectedLabel = useVModel(props, \"label\", emit, { passive: true });\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 treeSelectRef = ref<InstanceType<typeof ElTreeSelect>>();\n\n\t\tconst handleData = (data: ElSelectorOutput[] | any[]): 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.nodeKey],\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 (): 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\tstate.selectorData = handleData(resData);\n\t\t\t\t\temit(\"dataChangeCallBack\", state.selectorData);\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsoleError(\"FaTreeSelect\", 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 = handleData(props.data);\n\t\t\t}\n\t\t};\n\n\t\tconst handleFilterNode = (value: FilterValue, data: TreeNodeData, child: any): boolean => {\n\t\t\tif (!value) return true;\n\t\t\tlet parentNode = child.parent,\n\t\t\t\tlabels = [child.label],\n\t\t\t\tlevel = 1;\n\t\t\twhile (level < child.level) {\n\t\t\t\tlabels = [...labels, parentNode.label];\n\t\t\t\tparentNode = parentNode.parent;\n\t\t\t\tlevel++;\n\t\t\t}\n\t\t\tconst result = labels.some((label) => label.indexOf(value) !== -1);\n\t\t\tif (props.filterNodeMethod) {\n\t\t\t\treturn result && props.filterNodeMethod(value, data, child);\n\t\t\t}\n\t\t\treturn result;\n\t\t};\n\n\t\tconst handleChange = (value?: string | number | boolean | object | (string | number | boolean | object)[], data?: ElSelectorOutput): 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\tdata ??= 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 handleNodeClick = (data: ElSelectorOutput, node: any, instance: ComponentInternalInstance, event: MouseEvent): void => {\n\t\t\t// 判断是否开启点击展开节点,并且节点是折叠状态,则自动展开,否则需要点击箭头图标才能折叠或开启 'collapseOnClickNode'\n\t\t\tif (props.expandOnClickNode) {\n\t\t\t\tif (!node.expanded) {\n\t\t\t\t\tnode.expand();\n\t\t\t\t} else if (node.expanded && props.collapseOnClickNode) {\n\t\t\t\t\tnode.collapse();\n\t\t\t\t}\n\t\t\t}\n\t\t\t// 判断是否开启了 checkStrictly\n\t\t\tif (props.checkStrictly) {\n\t\t\t\thandleChange(data.value, data);\n\t\t\t} else {\n\t\t\t\tif (node.isLeaf) {\n\t\t\t\t\thandleChange(data.value, data);\n\t\t\t\t}\n\t\t\t}\n\t\t\temit(\"node-click\", data, node, instance, event);\n\t\t};\n\n\t\t/**\n\t\t * 下拉框出现/隐藏时触发\n\t\t */\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\tprops.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(\"FaTreeSelect\", \"当启用 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(\"FaTreeSelect\", \"当启用 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(\"FaTreeSelect\", \"当禁用 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(\"FaTreeSelect\", \"当禁用 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\tif (props.multiple) {\n\t\t\t\t\t\thandleChange([state.selectorData[0].value]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\thandleChange(state.selectorData[0].value, state.selectorData[0]);\n\t\t\t\t\t}\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 elTreeSelectProps = useProps(props, { ...SelectProps, ...treeProps }, [\n\t\t\t\"modelValue\",\n\t\t\t\"popperClass\",\n\t\t\t\"lazy\",\n\t\t\t\"loading\",\n\t\t\t\"expandOnClickNode\",\n\t\t\t\"filterNodeMethod\",\n\t\t]);\n\t\tconst elTreeSelectEmits = useEmits({ ...selectEmits, ...treeEmits }, emit, [\"update:modelValue\", \"clear\", \"visible-change\", \"node-click\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElTreeSelect\n\t\t\t\t{...elTreeSelectProps.value}\n\t\t\t\t{...elTreeSelectEmits.value}\n\t\t\t\tref={treeSelectRef}\n\t\t\t\tclass=\"fa-tree-select\"\n\t\t\t\tpopperClass={`fa-tree-select-dropdown ${props.popperClass}`}\n\t\t\t\tstyle={{ width: addUnit(props.width) }}\n\t\t\t\tvModel={state.value}\n\t\t\t\tlazy={false}\n\t\t\t\tloading={state.loading}\n\t\t\t\tdata={state.selectorData}\n\t\t\t\texpandOnClickNode={props.checkOnClickNode ? false : props.expandOnClickNode}\n\t\t\t\tfilterNodeMethod={handleFilterNode}\n\t\t\t\tonNodeClick={handleNodeClick}\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: ({ node, data }: { node: any; data: ElSelectorOutput }): VNode[] => slots.default({ node, data }),\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</ElTreeSelect>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t// TODO:这里 EL 没有返回类型,等待下一个版本修复\n\t\t\t// /** @description 使选择器的输入框获取焦点 */\n\t\t\t// focus: computed(() => treeSelectRef.value?.focus),\n\t\t\t// /** @description 使选择器的输入框失去焦点,并隐藏下拉框 */\n\t\t\t// blur: computed(() => treeSelectRef.value?.blur),\n\t\t\t// /** @description 获取当前选中的标签 */\n\t\t\t// selectedLabel: computed(() => treeSelectRef.value?.selectedLabel),\n\n\t\t\t// /** @description 过滤所有树节点,过滤后的节点将被隐藏 */\n\t\t\t// filter: computed(() => treeSelectRef.value?.filter),\n\t\t\t// /** @description 为节点设置新数据,只有当设置 node-key 属性的时候才可用 */\n\t\t\t// updateKeyChildren: computed(() => treeSelectRef.value?.updateKeyChildren),\n\t\t\t// /** @description 如果节点可以被选中,(show-checkbox 为 true), 本方法将返回当前选中节点的数组 */\n\t\t\t// getCheckedNodes: computed(() => treeSelectRef.value?.getCheckedNodes),\n\t\t\t// /** @description 设置目前勾选的节点,使用此方法必须提前设置 node-key 属性 */\n\t\t\t// setCheckedNodes: computed(() => treeSelectRef.value?.setCheckedNodes),\n\t\t\t// /** @description 若节点可用被选中 (show-checkbox 为 true), 它将返回当前选中节点 key 的数组 */\n\t\t\t// getCheckedKeys: computed(() => treeSelectRef.value?.getCheckedKeys),\n\t\t\t// /** @description 设置目前选中的节点,使用此方法必须设置 node-key 属性 */\n\t\t\t// setCheckedKeys: computed(() => treeSelectRef.value?.setCheckedKeys),\n\t\t\t// /** @description 设置节点是否被选中, 使用此方法必须设置 node-key 属性 */\n\t\t\t// setChecked: computed(() => treeSelectRef.value?.setChecked),\n\t\t\t// /** @description 如果节点可用被选中 (show-checkbox 为 true), 它将返回当前半选中的节点组成的数组 */\n\t\t\t// getHalfCheckedNodes: computed(() => treeSelectRef.value?.getHalfCheckedNodes),\n\t\t\t// /** @description 若节点可被选中(show-checkbox 为 true),则返回目前半选中的节点的 key 所组成的数组 */\n\t\t\t// getHalfCheckedKeys: computed(() => treeSelectRef.value?.getHalfCheckedKeys),\n\t\t\t// /** @description 返回当前被选中节点的数据 (如果没有则返回 null) */\n\t\t\t// getCurrentKey: computed(() => treeSelectRef.value?.getCurrentKey),\n\t\t\t// /** @description 返回当前被选中节点的数据 (如果没有则返回 null) */\n\t\t\t// getCurrentNode: computed(() => treeSelectRef.value?.getCurrentNode),\n\t\t\t// /** @description 通过 key 设置某个节点的当前选中状态,使用此方法必须设置 node-key 属性 */\n\t\t\t// setCurrentKey: computed(() => treeSelectRef.value?.setCurrentKey),\n\t\t\t// /** @description 设置节点为选中状态,使用此方法必须设置 node-key 属性 */\n\t\t\t// setCurrentNode: computed(() => treeSelectRef.value?.setCurrentNode),\n\t\t\t// /** @description 根据 data 或者 key 拿到 Tree 组件中的 node */\n\t\t\t// getNode: computed(() => treeSelectRef.value?.getNode),\n\t\t\t// /** @description 删除 Tree 中的一个节点,使用此方法必须设置 node-key 属性 */\n\t\t\t// remove: computed(() => treeSelectRef.value?.remove),\n\t\t\t// /** @description 为 Tree 中的一个节点追加一个子节点 */\n\t\t\t// append: computed(() => treeSelectRef.value?.append),\n\t\t\t// /** @description 在 Tree 中给定节点前插入一个节点 */\n\t\t\t// insertBefore: computed(() => treeSelectRef.value?.insertBefore),\n\t\t\t// /** @description 在 Tree 中给定节点后插入一个节点 */\n\t\t\t// insertAfter: computed(() => treeSelectRef.value?.insertAfter),\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":["faTreeSelectProps","SelectProps","treeProps","cacheData","type","definePropType","Array","default","disabled","Boolean","undefined","loadingText","String","noMatchText","noDataText","collapseTags","collapseTagsTooltip","nodeKey","defaultExpandAll","checkOnClickNode","highlightCurrent","expandOnClickNode","collapseOnClickNode","modelValue","Number","Object","label","width","moreDetail","lazy","defaultSelected","props","hide","children","data","requestApi","Function","initParam","faTreeSelectEmits","selectEmits","treeEmits","value","isString","isNumber","isBoolean","isObject","isArray","isNull","dataChangeCallBack","change","TreeSelect","name","emits","slots","makeSlots","setup","attrs","emit","expose","selectedLabel","useVModel","passive","state","reactive","withDefineType","loading","selectorData","debut","echo","length","nextRefresh","treeSelectRef","ref","handleData","map","m","isFunction","filter","f","loadData","async","params","resData","error","consoleError","handleFilterNode","child","parentNode","parent","labels","level","result","some","indexOf","filterNodeMethod","handleChange","multiple","valueArr","dataList","includes","isNil","find","handleClear","handleNodeClick","node","instance","event","expanded","collapse","expand","checkStrictly","isLeaf","handleVisibleChange","visible","watch","newValue","hasLabel","slice","multipleLimit","item","index","immediate","onMounted","oldValue","isEqual","deep","elTreeSelectProps","useProps","elTreeSelectEmits","useEmits","useRender","_createVNode","ElTreeSelect","_mergeProps","class","popperClass","style","addUnit","$event","onNodeClick","onClear","onVisibleChange","header","footer","prefix","empty","tag","useExpose","computed","refresh","setSelection","clearSelection"],"mappings":"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"}
|
|
@@ -134,6 +134,7 @@ export declare const faUploadProps: {
|
|
|
134
134
|
readonly prototype: any;
|
|
135
135
|
})[], unknown, unknown, import('element-plus').UploadRequestHandler, boolean>;
|
|
136
136
|
disabled: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
137
|
+
directory: BooleanConstructor;
|
|
137
138
|
};
|
|
138
139
|
export declare const faUploadEmits: {
|
|
139
140
|
/** @description v-model 回调 */
|
|
@@ -291,6 +292,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
291
292
|
readonly prototype: any;
|
|
292
293
|
})[], unknown, unknown, import('element-plus').UploadRequestHandler, boolean>;
|
|
293
294
|
disabled: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
295
|
+
directory: BooleanConstructor;
|
|
294
296
|
}>, {
|
|
295
297
|
/** @description 取消上传请求 */
|
|
296
298
|
abort: import('vue').ComputedRef<(file: import('element-plus/es/components/upload/src/upload.mjs').UploadFile) => void>;
|
|
@@ -306,6 +308,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
306
308
|
loading: import('vue').Ref<boolean, boolean>;
|
|
307
309
|
/** @description 文件集合 */
|
|
308
310
|
fileList: import('vue').Ref<{
|
|
311
|
+
size?: number;
|
|
312
|
+
name: string;
|
|
309
313
|
raw?: {
|
|
310
314
|
uid: number;
|
|
311
315
|
isDirectory?: boolean;
|
|
@@ -320,14 +324,14 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
320
324
|
stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
321
325
|
text: () => Promise<string>;
|
|
322
326
|
};
|
|
323
|
-
size?: number;
|
|
324
|
-
name: string;
|
|
325
327
|
url?: string;
|
|
326
328
|
percentage?: number;
|
|
327
329
|
response?: unknown;
|
|
328
330
|
status?: import('element-plus').UploadStatus;
|
|
329
331
|
uid?: number;
|
|
330
332
|
}[], {
|
|
333
|
+
size?: number;
|
|
334
|
+
name: string;
|
|
331
335
|
raw?: {
|
|
332
336
|
uid: number;
|
|
333
337
|
isDirectory?: boolean;
|
|
@@ -342,8 +346,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
342
346
|
stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
343
347
|
text: () => Promise<string>;
|
|
344
348
|
};
|
|
345
|
-
size?: number;
|
|
346
|
-
name: string;
|
|
347
349
|
url?: string;
|
|
348
350
|
percentage?: number;
|
|
349
351
|
response?: unknown;
|
|
@@ -492,6 +494,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
492
494
|
readonly prototype: any;
|
|
493
495
|
})[], unknown, unknown, import('element-plus').UploadRequestHandler, boolean>;
|
|
494
496
|
disabled: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
497
|
+
directory: BooleanConstructor;
|
|
495
498
|
}>> & Readonly<{
|
|
496
499
|
"onUpdate:modelValue"?: (value: string | string[]) => any;
|
|
497
500
|
onChange?: (value: string | string[]) => any;
|
|
@@ -520,6 +523,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
520
523
|
listType: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "picture" | "text" | "picture-card", unknown>;
|
|
521
524
|
httpRequest: import('element-plus').UploadRequestHandler;
|
|
522
525
|
limit: number;
|
|
526
|
+
directory: boolean;
|
|
523
527
|
maxSize: string | number;
|
|
524
528
|
}, import('vue').SlotsType<Partial<import('@fast-china/utils').MakeSlots<FaUploadSlots>>>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
525
529
|
export default _default;
|
|
@@ -8,6 +8,8 @@ export declare const useUpload: <T extends string | string[]>(componentName: str
|
|
|
8
8
|
uploadUrl?: string;
|
|
9
9
|
}) => {
|
|
10
10
|
fileList: import('vue').Ref<{
|
|
11
|
+
size?: number;
|
|
12
|
+
name: string;
|
|
11
13
|
raw?: {
|
|
12
14
|
uid: number;
|
|
13
15
|
isDirectory?: boolean;
|
|
@@ -22,14 +24,14 @@ export declare const useUpload: <T extends string | string[]>(componentName: str
|
|
|
22
24
|
stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
23
25
|
text: () => Promise<string>;
|
|
24
26
|
};
|
|
25
|
-
size?: number;
|
|
26
|
-
name: string;
|
|
27
27
|
url?: string;
|
|
28
28
|
percentage?: number;
|
|
29
29
|
response?: unknown;
|
|
30
30
|
status?: import('element-plus').UploadStatus;
|
|
31
31
|
uid?: number;
|
|
32
32
|
}[], {
|
|
33
|
+
size?: number;
|
|
34
|
+
name: string;
|
|
33
35
|
raw?: {
|
|
34
36
|
uid: number;
|
|
35
37
|
isDirectory?: boolean;
|
|
@@ -44,8 +46,6 @@ export declare const useUpload: <T extends string | string[]>(componentName: str
|
|
|
44
46
|
stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
45
47
|
text: () => Promise<string>;
|
|
46
48
|
};
|
|
47
|
-
size?: number;
|
|
48
|
-
name: string;
|
|
49
49
|
url?: string;
|
|
50
50
|
percentage?: number;
|
|
51
51
|
response?: unknown;
|
|
@@ -24,7 +24,7 @@ export declare const faUploadImageProps: {
|
|
|
24
24
|
modelValue: import('vue').PropType<string | string[]>;
|
|
25
25
|
/** @description 大小限制,单位kb */
|
|
26
26
|
maxSize: {
|
|
27
|
-
type: (
|
|
27
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
28
28
|
default: number;
|
|
29
29
|
};
|
|
30
30
|
/** @description 图片上传接口,优先级最高 */
|
|
@@ -35,12 +35,12 @@ export declare const faUploadImageProps: {
|
|
|
35
35
|
uploadUrl: StringConstructor;
|
|
36
36
|
/** @description 宽度 */
|
|
37
37
|
width: {
|
|
38
|
-
type: (
|
|
38
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
39
39
|
default: number;
|
|
40
40
|
};
|
|
41
41
|
/** @description 高度 */
|
|
42
42
|
height: {
|
|
43
|
-
type: (
|
|
43
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
44
44
|
default: number;
|
|
45
45
|
};
|
|
46
46
|
beforeUpload: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => (rawFile: import('element-plus').UploadRawFile) => import('element-plus/es/utils/typescript.mjs').Awaitable<void | undefined | null | boolean | File | Blob>) | (() => (rawFile: import('element-plus').UploadRawFile) => import('element-plus/es/utils/typescript.mjs').Awaitable<void | undefined | null | boolean | File | Blob>) | {
|
|
@@ -152,6 +152,7 @@ export declare const faUploadImageProps: {
|
|
|
152
152
|
})[], unknown, unknown, import('element-plus').UploadRequestHandler, boolean>;
|
|
153
153
|
disabled: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
154
154
|
limit: NumberConstructor;
|
|
155
|
+
directory: BooleanConstructor;
|
|
155
156
|
};
|
|
156
157
|
export declare const faUploadImageEmits: {
|
|
157
158
|
/** @description v-model 回调 */
|
|
@@ -190,7 +191,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
190
191
|
modelValue: import('vue').PropType<string | string[]>;
|
|
191
192
|
/** @description 大小限制,单位kb */
|
|
192
193
|
maxSize: {
|
|
193
|
-
type: (
|
|
194
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
194
195
|
default: number;
|
|
195
196
|
};
|
|
196
197
|
/** @description 图片上传接口,优先级最高 */
|
|
@@ -201,12 +202,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
201
202
|
uploadUrl: StringConstructor;
|
|
202
203
|
/** @description 宽度 */
|
|
203
204
|
width: {
|
|
204
|
-
type: (
|
|
205
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
205
206
|
default: number;
|
|
206
207
|
};
|
|
207
208
|
/** @description 高度 */
|
|
208
209
|
height: {
|
|
209
|
-
type: (
|
|
210
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
210
211
|
default: number;
|
|
211
212
|
};
|
|
212
213
|
beforeUpload: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => (rawFile: import('element-plus').UploadRawFile) => import('element-plus/es/utils/typescript.mjs').Awaitable<void | undefined | null | boolean | File | Blob>) | (() => (rawFile: import('element-plus').UploadRawFile) => import('element-plus/es/utils/typescript.mjs').Awaitable<void | undefined | null | boolean | File | Blob>) | {
|
|
@@ -318,6 +319,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
318
319
|
})[], unknown, unknown, import('element-plus').UploadRequestHandler, boolean>;
|
|
319
320
|
disabled: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
320
321
|
limit: NumberConstructor;
|
|
322
|
+
directory: BooleanConstructor;
|
|
321
323
|
}>, {
|
|
322
324
|
/** @description 取消上传请求 */
|
|
323
325
|
abort: import('vue').ComputedRef<(file: import('element-plus').UploadFile) => void>;
|
|
@@ -333,6 +335,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
333
335
|
loading: import('vue').Ref<boolean, boolean>;
|
|
334
336
|
/** @description 文件集合 */
|
|
335
337
|
fileList: import('vue').Ref<{
|
|
338
|
+
size?: number;
|
|
339
|
+
name: string;
|
|
336
340
|
raw?: {
|
|
337
341
|
uid: number;
|
|
338
342
|
isDirectory?: boolean;
|
|
@@ -347,14 +351,14 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
347
351
|
stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
348
352
|
text: () => Promise<string>;
|
|
349
353
|
};
|
|
350
|
-
size?: number;
|
|
351
|
-
name: string;
|
|
352
354
|
url?: string;
|
|
353
355
|
percentage?: number;
|
|
354
356
|
response?: unknown;
|
|
355
357
|
status?: import('element-plus').UploadStatus;
|
|
356
358
|
uid?: number;
|
|
357
359
|
}[], {
|
|
360
|
+
size?: number;
|
|
361
|
+
name: string;
|
|
358
362
|
raw?: {
|
|
359
363
|
uid: number;
|
|
360
364
|
isDirectory?: boolean;
|
|
@@ -369,8 +373,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
369
373
|
stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
370
374
|
text: () => Promise<string>;
|
|
371
375
|
};
|
|
372
|
-
size?: number;
|
|
373
|
-
name: string;
|
|
374
376
|
url?: string;
|
|
375
377
|
percentage?: number;
|
|
376
378
|
response?: unknown;
|
|
@@ -413,7 +415,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
413
415
|
modelValue: import('vue').PropType<string | string[]>;
|
|
414
416
|
/** @description 大小限制,单位kb */
|
|
415
417
|
maxSize: {
|
|
416
|
-
type: (
|
|
418
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
417
419
|
default: number;
|
|
418
420
|
};
|
|
419
421
|
/** @description 图片上传接口,优先级最高 */
|
|
@@ -424,12 +426,12 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
424
426
|
uploadUrl: StringConstructor;
|
|
425
427
|
/** @description 宽度 */
|
|
426
428
|
width: {
|
|
427
|
-
type: (
|
|
429
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
428
430
|
default: number;
|
|
429
431
|
};
|
|
430
432
|
/** @description 高度 */
|
|
431
433
|
height: {
|
|
432
|
-
type: (
|
|
434
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
433
435
|
default: number;
|
|
434
436
|
};
|
|
435
437
|
beforeUpload: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => (rawFile: import('element-plus').UploadRawFile) => import('element-plus/es/utils/typescript.mjs').Awaitable<void | undefined | null | boolean | File | Blob>) | (() => (rawFile: import('element-plus').UploadRawFile) => import('element-plus/es/utils/typescript.mjs').Awaitable<void | undefined | null | boolean | File | Blob>) | {
|
|
@@ -541,6 +543,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
541
543
|
})[], unknown, unknown, import('element-plus').UploadRequestHandler, boolean>;
|
|
542
544
|
disabled: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
543
545
|
limit: NumberConstructor;
|
|
546
|
+
directory: BooleanConstructor;
|
|
544
547
|
}>> & Readonly<{
|
|
545
548
|
"onUpdate:modelValue"?: (value: string | string[]) => any;
|
|
546
549
|
onChange?: (value: string | string[]) => any;
|
|
@@ -570,6 +573,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
570
573
|
autoUpload: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
571
574
|
listType: "picture" | "text" | "picture-card";
|
|
572
575
|
httpRequest: import('element-plus').UploadRequestHandler;
|
|
576
|
+
directory: boolean;
|
|
573
577
|
maxSize: string | number;
|
|
574
578
|
}, import('vue').SlotsType<Partial<import('@fast-china/utils').MakeSlots<FaUploadImageSlots>>>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
575
579
|
export default _default;
|
|
@@ -24,7 +24,7 @@ export declare const faUploadImagesProps: {
|
|
|
24
24
|
modelValue: import('vue').PropType<string[]>;
|
|
25
25
|
/** @description 大小限制,单位kb */
|
|
26
26
|
maxSize: {
|
|
27
|
-
type: (
|
|
27
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
28
28
|
default: number;
|
|
29
29
|
};
|
|
30
30
|
/** @description 图片上传接口,优先级最高 */
|
|
@@ -142,6 +142,7 @@ export declare const faUploadImagesProps: {
|
|
|
142
142
|
readonly prototype: any;
|
|
143
143
|
})[], unknown, unknown, import('element-plus').UploadRequestHandler, boolean>;
|
|
144
144
|
disabled: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
145
|
+
directory: BooleanConstructor;
|
|
145
146
|
};
|
|
146
147
|
export declare const faUploadImagesEmits: {
|
|
147
148
|
/** @description v-model 回调 */
|
|
@@ -180,7 +181,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
180
181
|
modelValue: import('vue').PropType<string[]>;
|
|
181
182
|
/** @description 大小限制,单位kb */
|
|
182
183
|
maxSize: {
|
|
183
|
-
type: (
|
|
184
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
184
185
|
default: number;
|
|
185
186
|
};
|
|
186
187
|
/** @description 图片上传接口,优先级最高 */
|
|
@@ -298,6 +299,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
298
299
|
readonly prototype: any;
|
|
299
300
|
})[], unknown, unknown, import('element-plus').UploadRequestHandler, boolean>;
|
|
300
301
|
disabled: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
302
|
+
directory: BooleanConstructor;
|
|
301
303
|
}>, {
|
|
302
304
|
/** @description 取消上传请求 */
|
|
303
305
|
abort: import('vue').ComputedRef<(file: import('element-plus/es/components/upload/src/upload.mjs').UploadFile) => void>;
|
|
@@ -313,6 +315,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
313
315
|
loading: import('vue').Ref<boolean, boolean>;
|
|
314
316
|
/** @description 文件集合 */
|
|
315
317
|
fileList: import('vue').Ref<{
|
|
318
|
+
size?: number;
|
|
319
|
+
name: string;
|
|
316
320
|
raw?: {
|
|
317
321
|
uid: number;
|
|
318
322
|
isDirectory?: boolean;
|
|
@@ -327,14 +331,14 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
327
331
|
stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
328
332
|
text: () => Promise<string>;
|
|
329
333
|
};
|
|
330
|
-
size?: number;
|
|
331
|
-
name: string;
|
|
332
334
|
url?: string;
|
|
333
335
|
percentage?: number;
|
|
334
336
|
response?: unknown;
|
|
335
337
|
status?: import('element-plus').UploadStatus;
|
|
336
338
|
uid?: number;
|
|
337
339
|
}[], {
|
|
340
|
+
size?: number;
|
|
341
|
+
name: string;
|
|
338
342
|
raw?: {
|
|
339
343
|
uid: number;
|
|
340
344
|
isDirectory?: boolean;
|
|
@@ -349,8 +353,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
349
353
|
stream: () => ReadableStream<Uint8Array<ArrayBuffer>>;
|
|
350
354
|
text: () => Promise<string>;
|
|
351
355
|
};
|
|
352
|
-
size?: number;
|
|
353
|
-
name: string;
|
|
354
356
|
url?: string;
|
|
355
357
|
percentage?: number;
|
|
356
358
|
response?: unknown;
|
|
@@ -393,7 +395,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
393
395
|
modelValue: import('vue').PropType<string[]>;
|
|
394
396
|
/** @description 大小限制,单位kb */
|
|
395
397
|
maxSize: {
|
|
396
|
-
type: (
|
|
398
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
397
399
|
default: number;
|
|
398
400
|
};
|
|
399
401
|
/** @description 图片上传接口,优先级最高 */
|
|
@@ -511,6 +513,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
511
513
|
readonly prototype: any;
|
|
512
514
|
})[], unknown, unknown, import('element-plus').UploadRequestHandler, boolean>;
|
|
513
515
|
disabled: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
516
|
+
directory: BooleanConstructor;
|
|
514
517
|
}>> & Readonly<{
|
|
515
518
|
"onUpdate:modelValue"?: (value: string[]) => any;
|
|
516
519
|
onChange?: (value: string[]) => any;
|
|
@@ -539,6 +542,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
539
542
|
listType: "picture" | "text" | "picture-card";
|
|
540
543
|
httpRequest: import('element-plus').UploadRequestHandler;
|
|
541
544
|
limit: number;
|
|
545
|
+
directory: boolean;
|
|
542
546
|
maxSize: string | number;
|
|
543
547
|
}, import('vue').SlotsType<Partial<import('@fast-china/utils').MakeSlots<FaUploadImagesSlots>>>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
544
548
|
export default _default;
|
package/lib/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "1.0.
|
|
1
|
+
export declare const version = "1.0.14";
|
package/lib/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});exports.version="1.0.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});exports.version="1.0.14";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/lib/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sources":["../../packages/version.ts"],"sourcesContent":["export const version = \"1.0.
|
|
1
|
+
{"version":3,"file":"version.js","sources":["../../packages/version.ts"],"sourcesContent":["export const version = \"1.0.14\";\n"],"names":[],"mappings":"gGAAuB"}
|
package/package.json
CHANGED
|
@@ -225,22 +225,22 @@
|
|
|
225
225
|
.el-table__body-wrapper {
|
|
226
226
|
.el-table__body {
|
|
227
227
|
.fa-table__primary-row {
|
|
228
|
-
--el-table-tr-
|
|
228
|
+
--el-table-tr-bg-color: var(--el-color-primary-light-9);
|
|
229
229
|
}
|
|
230
230
|
.fa-table__success-row {
|
|
231
|
-
--el-table-tr-
|
|
231
|
+
--el-table-tr-bg-color: var(--el-color-success-light-9);
|
|
232
232
|
}
|
|
233
233
|
.fa-table__warning-row {
|
|
234
|
-
--el-table-tr-
|
|
234
|
+
--el-table-tr-bg-color: var(--el-color-warning-light-9);
|
|
235
235
|
}
|
|
236
236
|
.fa-table__danger-row {
|
|
237
|
-
--el-table-tr-
|
|
237
|
+
--el-table-tr-bg-color: var(--el-color-danger-light-9);
|
|
238
238
|
}
|
|
239
239
|
.fa-table__error-row {
|
|
240
|
-
--el-table-tr-
|
|
240
|
+
--el-table-tr-bg-color: var(--el-color-error-light-9);
|
|
241
241
|
}
|
|
242
242
|
.fa-table__info-row {
|
|
243
|
-
--el-table-tr-
|
|
243
|
+
--el-table-tr-bg-color: var(--el-color-info-light-9);
|
|
244
244
|
}
|
|
245
245
|
.el-table__row {
|
|
246
246
|
.el-table__cell {
|