fast-element-plus 2.0.0 → 2.0.1
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/CHANGELOG.md +11 -0
- package/README.md +2 -2
- package/README.zh.md +2 -2
- package/dist/components/button/src/button.mjs +1 -1
- package/dist/components/carNumber/src/carNumber.mjs +2 -3
- package/dist/components/carNumber/src/carNumber.mjs.map +1 -1
- package/dist/components/contextMenu/src/contextMenu.mjs +2 -2
- package/dist/components/dialog/src/dialog.mjs +1 -1
- package/dist/components/drawer/src/drawer.mjs +1 -1
- package/dist/components/form/src/form.mjs +1 -2
- package/dist/components/form/src/form.mjs.map +1 -1
- package/dist/components/form/src/formItem.mjs +1 -1
- package/dist/components/iconSelector/src/iconSelector.mjs +1 -2
- package/dist/components/iconSelector/src/iconSelector.mjs.map +1 -1
- package/dist/components/inputDialogPage/src/inputDialogPage.mjs +2 -5
- package/dist/components/inputDialogPage/src/inputDialogPage.mjs.map +1 -1
- package/dist/components/layoutGrid/src/layoutGrid.mjs +1 -3
- package/dist/components/layoutGrid/src/layoutGrid.mjs.map +1 -1
- package/dist/components/layoutGrid/src/layoutGridItem.mjs +1 -1
- package/dist/components/select/src/select.mjs +2 -9
- package/dist/components/select/src/select.mjs.map +1 -1
- package/dist/components/select/src/selectOption.mjs +1 -1
- package/dist/components/selectPage/src/selectPage.mjs +2 -9
- package/dist/components/selectPage/src/selectPage.mjs.map +1 -1
- package/dist/components/selectV2/src/selectV2.mjs +2 -9
- package/dist/components/selectV2/src/selectV2.mjs.map +1 -1
- package/dist/components/table/src/table.mjs +1 -9
- package/dist/components/table/src/table.mjs.map +1 -1
- package/dist/components/table/src/tableColumn.mjs +1 -6
- package/dist/components/table/src/tableColumn.mjs.map +1 -1
- package/dist/components/table/src/tableColumnSettingDialog.mjs +1 -1
- package/dist/components/table/src/tablePagination.mjs +1 -2
- package/dist/components/table/src/tablePagination.mjs.map +1 -1
- package/dist/components/table/src/tableSearchFormItem.mjs +1 -1
- package/dist/components/table/src/useTable.mjs +1 -2
- package/dist/components/table/src/useTable.mjs.map +1 -1
- package/dist/components/table/utils/table.mjs +1 -3
- package/dist/components/table/utils/table.mjs.map +1 -1
- package/dist/components/tree/src/tree.mjs +2 -7
- package/dist/components/tree/src/tree.mjs.map +1 -1
- package/dist/components/treeSelect/src/treeSelect.mjs +2 -9
- package/dist/components/treeSelect/src/treeSelect.mjs.map +1 -1
- package/dist/components/upload/src/upload.mjs +1 -3
- package/dist/components/upload/src/upload.mjs.map +1 -1
- package/dist/components/upload/src/useUpload.mjs +3 -5
- package/dist/components/upload/src/useUpload.mjs.map +1 -1
- package/dist/components/uploadImage/src/uploadImage.mjs +1 -3
- package/dist/components/uploadImage/src/uploadImage.mjs.map +1 -1
- package/dist/components/uploadImages/src/uploadImages.mjs +1 -2
- package/dist/components/uploadImages/src/uploadImages.mjs.map +1 -1
- package/dist/element-plus.mjs +1 -2
- package/dist/element-plus.mjs.map +1 -1
- package/dist/hooks/use-screenFull/index.mjs +13 -13
- package/dist/hooks/use-screenFull/index.mjs.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.global.min.js +4 -4
- package/dist/index.global.min.js.map +1 -1
- package/dist/index.mjs +2 -3
- package/dist/index.mjs.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.mjs +1 -1
- package/dist/version.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/_virtual/_rolldown/runtime.mjs +0 -13
- package/dist/components/index.mjs +0 -124
- package/dist/components/index.mjs.map +0 -1
- package/dist/node_modules/.pnpm/@vueuse_core@14.4.0_vue@3.5.41_typescript@6.0.3_/node_modules/@vueuse/core/dist/index.mjs +0 -100
- package/dist/node_modules/.pnpm/@vueuse_core@14.4.0_vue@3.5.41_typescript@6.0.3_/node_modules/@vueuse/core/dist/index.mjs.map +0 -1
- package/dist/node_modules/.pnpm/@vueuse_shared@14.4.0_vue@3.5.41_typescript@6.0.3_/node_modules/@vueuse/shared/dist/index.mjs +0 -25
- package/dist/node_modules/.pnpm/@vueuse_shared@14.4.0_vue@3.5.41_typescript@6.0.3_/node_modules/@vueuse/shared/dist/index.mjs.map +0 -1
- package/dist/node_modules/.pnpm/decimal.js@10.6.0/node_modules/decimal.js/decimal.mjs +0 -1997
- package/dist/node_modules/.pnpm/decimal.js@10.6.0/node_modules/decimal.js/decimal.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_DataView.mjs +0 -8
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_DataView.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_Hash.mjs +0 -30
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_Hash.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_ListCache.mjs +0 -30
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_ListCache.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_Map.mjs +0 -8
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_Map.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_MapCache.mjs +0 -30
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_MapCache.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_Promise.mjs +0 -8
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_Promise.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_Set.mjs +0 -8
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_Set.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_SetCache.mjs +0 -23
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_SetCache.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_Stack.mjs +0 -27
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_Stack.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_Symbol.mjs +0 -8
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_Symbol.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_Uint8Array.mjs +0 -8
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_Uint8Array.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_WeakMap.mjs +0 -8
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_WeakMap.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_apply.mjs +0 -24
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_apply.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_arrayEach.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_arrayEach.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_arrayFilter.mjs +0 -22
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_arrayFilter.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_arrayLikeKeys.mjs +0 -26
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_arrayLikeKeys.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_arrayMap.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_arrayMap.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_arrayPush.mjs +0 -18
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_arrayPush.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_arraySome.mjs +0 -20
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_arraySome.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_assignValue.mjs +0 -23
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_assignValue.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_assocIndexOf.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_assocIndexOf.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseAssign.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseAssign.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignIn.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignIn.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignValue.mjs +0 -24
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignValue.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseClone.mjs +0 -118
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseClone.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseCreate.mjs +0 -27
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseCreate.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseFlatten.mjs +0 -31
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseFlatten.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseGet.mjs +0 -21
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseGet.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseGetAllKeys.mjs +0 -22
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseGetAllKeys.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.mjs +0 -24
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseIsArguments.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseIsArguments.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqual.mjs +0 -26
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqual.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqualDeep.mjs +0 -61
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqualDeep.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMap.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMap.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNative.mjs +0 -37
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNative.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseIsSet.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseIsSet.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseIsTypedArray.mjs +0 -47
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseIsTypedArray.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseKeys.mjs +0 -22
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseKeys.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseKeysIn.mjs +0 -23
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseKeysIn.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseSetToString.mjs +0 -24
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseSetToString.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseSlice.mjs +0 -25
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseSlice.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseTimes.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseTimes.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseToString.mjs +0 -29
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseToString.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseUnary.mjs +0 -17
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseUnary.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseUnset.mjs +0 -31
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_baseUnset.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_cacheHas.mjs +0 -16
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_cacheHas.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_castPath.mjs +0 -21
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_castPath.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_cloneArrayBuffer.mjs +0 -18
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_cloneArrayBuffer.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_cloneBuffer.mjs +0 -27
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_cloneBuffer.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_cloneDataView.mjs +0 -18
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_cloneDataView.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_cloneRegExp.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_cloneRegExp.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_cloneSymbol.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_cloneSymbol.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_cloneTypedArray.mjs +0 -18
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_cloneTypedArray.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_copyArray.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_copyArray.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_copyObject.mjs +0 -30
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_copyObject.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_copySymbols.mjs +0 -18
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_copySymbols.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_copySymbolsIn.mjs +0 -18
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_copySymbolsIn.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_coreJsData.mjs +0 -8
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_coreJsData.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_customOmitClone.mjs +0 -18
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_customOmitClone.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_defineProperty.mjs +0 -13
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_defineProperty.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_equalArrays.mjs +0 -57
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_equalArrays.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_equalByTag.mjs +0 -77
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_equalByTag.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_equalObjects.mjs +0 -56
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_equalObjects.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_flatRest.mjs +0 -18
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_flatRest.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_freeGlobal.mjs +0 -7
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_freeGlobal.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeys.mjs +0 -18
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeys.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeysIn.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeysIn.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getMapData.mjs +0 -18
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getMapData.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getNative.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getNative.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getPrototype.mjs +0 -8
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getPrototype.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getRawTag.mjs +0 -38
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getRawTag.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getSymbols.mjs +0 -24
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getSymbols.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getSymbolsIn.mjs +0 -24
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getSymbolsIn.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getTag.mjs +0 -45
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getTag.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getValue.mjs +0 -16
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_getValue.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_hashClear.mjs +0 -17
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_hashClear.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_hashDelete.mjs +0 -20
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_hashDelete.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_hashGet.mjs +0 -27
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_hashGet.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_hashHas.mjs +0 -21
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_hashHas.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_hashSet.mjs +0 -24
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_hashSet.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_initCloneArray.mjs +0 -22
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_initCloneArray.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_initCloneByTag.mjs +0 -66
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_initCloneByTag.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_initCloneObject.mjs +0 -18
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_initCloneObject.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_isFlattenable.mjs +0 -20
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_isFlattenable.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_isIndex.mjs +0 -22
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_isIndex.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_isKey.mjs +0 -24
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_isKey.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_isKeyable.mjs +0 -16
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_isKeyable.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_isMasked.mjs +0 -21
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_isMasked.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_isPrototype.mjs +0 -18
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_isPrototype.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_listCacheClear.mjs +0 -16
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_listCacheClear.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_listCacheDelete.mjs +0 -25
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_listCacheDelete.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_listCacheGet.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_listCacheGet.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_listCacheHas.mjs +0 -18
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_listCacheHas.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_listCacheSet.mjs +0 -24
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_listCacheSet.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheClear.mjs +0 -23
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheClear.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheDelete.mjs +0 -20
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheDelete.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheGet.mjs +0 -18
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheGet.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheHas.mjs +0 -18
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheHas.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheSet.mjs +0 -22
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheSet.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_mapToArray.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_mapToArray.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_memoizeCapped.mjs +0 -24
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_memoizeCapped.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_nativeCreate.mjs +0 -7
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_nativeCreate.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeys.mjs +0 -7
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeys.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeysIn.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeysIn.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_nodeUtil.mjs +0 -20
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_nodeUtil.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_objectToString.mjs +0 -21
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_objectToString.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_overArg.mjs +0 -18
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_overArg.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_overRest.mjs +0 -28
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_overRest.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_parent.mjs +0 -18
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_parent.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_root.mjs +0 -10
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_root.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_setCacheAdd.mjs +0 -21
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_setCacheAdd.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_setCacheHas.mjs +0 -17
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_setCacheHas.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_setToArray.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_setToArray.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_setToString.mjs +0 -16
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_setToString.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_shortOut.mjs +0 -29
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_shortOut.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_stackClear.mjs +0 -17
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_stackClear.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_stackDelete.mjs +0 -19
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_stackDelete.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_stackGet.mjs +0 -17
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_stackGet.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_stackHas.mjs +0 -17
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_stackHas.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_stackSet.mjs +0 -35
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_stackSet.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_stringToPath.mjs +0 -25
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_stringToPath.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_toKey.mjs +0 -20
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_toKey.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_toSource.mjs +0 -25
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_toSource.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/constant.mjs +0 -29
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/constant.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/eq.mjs +0 -40
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/eq.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/flatten.mjs +0 -23
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/flatten.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/identity.mjs +0 -24
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/identity.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isArguments.mjs +0 -36
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isArguments.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isArray.mjs +0 -29
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isArray.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isArrayLike.mjs +0 -35
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isArrayLike.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isBoolean.mjs +0 -29
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isBoolean.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isBuffer.mjs +0 -31
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isBuffer.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isEqual.mjs +0 -37
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isEqual.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isFunction.mjs +0 -34
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isFunction.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isLength.mjs +0 -36
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isLength.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isMap.mjs +0 -27
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isMap.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isNil.mjs +0 -28
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isNil.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isNull.mjs +0 -25
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isNull.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isNumber.mjs +0 -38
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isNumber.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isObject.mjs +0 -34
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isObject.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isObjectLike.mjs +0 -32
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isObjectLike.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isPlainObject.mjs +0 -54
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isPlainObject.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isSet.mjs +0 -27
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isSet.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isString.mjs +0 -30
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isString.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isSymbol.mjs +0 -29
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isSymbol.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isTypedArray.mjs +0 -27
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isTypedArray.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isUndefined.mjs +0 -25
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isUndefined.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/keys.mjs +0 -39
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/keys.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/keysIn.mjs +0 -34
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/keysIn.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/last.mjs +0 -23
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/last.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/memoize.mjs +0 -65
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/memoize.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/omit.mjs +0 -52
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/omit.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/stubArray.mjs +0 -26
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/stubArray.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/stubFalse.mjs +0 -21
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/stubFalse.mjs.map +0 -1
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/toString.mjs +0 -30
- package/dist/node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/toString.mjs.map +0 -1
- package/dist/node_modules/.pnpm/screenfull@6.0.2/node_modules/screenfull/index.mjs +0 -120
- package/dist/node_modules/.pnpm/screenfull@6.0.2/node_modules/screenfull/index.mjs.map +0 -1
- package/dist/node_modules/.pnpm/sortablejs@1.15.7/node_modules/sortablejs/modular/sortable.esm.mjs +0 -1925
- package/dist/node_modules/.pnpm/sortablejs@1.15.7/node_modules/sortablejs/modular/sortable.esm.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.mjs","names":["update:modelValue","update:label"],"sources":["../../../../src/components/select/src/select.tsx"],"sourcesContent":["import { useVModel } from \"@vueuse/core\";\nimport { computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElSelect, selectEmits, selectProps, useGlobalSize } from \"element-plus\";\nimport { isArray, isBoolean, isEqual, isNil, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport { addCssUnit, definePropType, makeSlots, useEmits, useExpose, useProps, useRender, withDefineType } from \"../../../utils\";\nimport FaSelectOption from \"./selectOption\";\nimport type { ElSelectorModelValue, ElSelectorOutput, ElSelectorValue } from \"./select.type\";\nimport type { VNode } from \"vue\";\n\n/** 传递给底层 Element Plus 选择器的扩展 Props。 */\nexport interface SelectComponentProps {\n\t/** @description 指定标签为节点的某个属性值 */\n\tlabel?: string | ((data: ElSelectorOutput) => string);\n\t/** @description 指定是否隐藏为节点的某个属性值 */\n\thide?: string | ((data: ElSelectorOutput) => boolean);\n\t/** @description 指定是否禁用为节点的某个属性值 */\n\tdisabled?: string | ((data: ElSelectorOutput) => boolean);\n\t/** @description 指定子节点对象为节点的某个属性值 */\n\tchildren?: string;\n}\n\n/** FaSelect 的运行时 Props 定义。 */\nexport const faSelectProps = {\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<ElSelectorModelValue>([String, Number, Boolean, Object, Array]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: definePropType<string | string[] | null>([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[]>(Array),\n\t\tdefault: (): ElSelectorOutput[] => [],\n\t},\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<(params?: unknown) => Promise<ElSelectorOutput[]>>(Function),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<unknown>([String, Number, Object]),\n};\n\n/** FaSelect 的运行时 Emits 定义。 */\nexport const faSelectEmits = {\n\t...selectEmits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: ElSelectorModelValue): 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[] | null): boolean => isString(value) || isArray(value) || isNull(value),\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElSelectorOutput[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (_data: unknown, _value?: ElSelectorModelValue): boolean => true,\n};\n\n/** FaSelect 的插槽参数。 */\nexport interface FaSelectSlots extends Record<string, unknown> {\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: \"FaSelect\",\n\tprops: faSelectProps,\n\temits: faSelectEmits,\n\tslots: makeSlots<FaSelectSlots>(),\n\tsetup(props, { 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<ElSelectorModelValue>(),\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 selectRef = ref<InstanceType<typeof ElSelect>>();\n\t\tlet requestVersion = 0;\n\n\t\tconst handleData = (data: ElSelectorOutput[]): ElSelectorOutput[] => {\n\t\t\treturn data\n\t\t\t\t.map((item): ElSelectorOutput => {\n\t\t\t\t\tconst value = item[props.valueKey];\n\t\t\t\t\tconst label = typeof props.props.label === \"function\" ? props.props.label(item) : item[props.props.label ?? \"label\"];\n\t\t\t\t\tconst hide = typeof props.props.hide === \"function\" ? props.props.hide(item) : item[props.props.hide ?? \"hide\"];\n\t\t\t\t\tconst disabled =\n\t\t\t\t\t\ttypeof props.props.disabled === \"function\" ? props.props.disabled(item) : item[props.props.disabled ?? \"disabled\"];\n\t\t\t\t\tconst children = item[props.props.children ?? \"children\"];\n\t\t\t\t\tconst selectorValue: ElSelectorValue | undefined =\n\t\t\t\t\t\tvalue !== null &&\n\t\t\t\t\t\t(typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\" || typeof value === \"object\")\n\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...item,\n\t\t\t\t\t\tchildren: Array.isArray(children) ? handleData(children as ElSelectorOutput[]) : [],\n\t\t\t\t\t\tdisabled: typeof disabled === \"boolean\" ? disabled : undefined,\n\t\t\t\t\t\thide: typeof hide === \"boolean\" ? hide : undefined,\n\t\t\t\t\t\tlabel: typeof label === \"string\" ? label : undefined,\n\t\t\t\t\t\tvalue: selectorValue,\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t\t.filter((item) => item.hide !== true);\n\t\t};\n\n\t\tconst loadData = async (): Promise<void> => {\n\t\t\tconst currentRequestVersion = ++requestVersion;\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\tif (currentRequestVersion !== requestVersion) return;\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\tif (currentRequestVersion !== requestVersion) return;\n\t\t\t\t\tstate.selectorData = [];\n\t\t\t\t\tthrow error;\n\t\t\t\t} finally {\n\t\t\t\t\tif (currentRequestVersion === requestVersion) state.loading = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (currentRequestVersion !== requestVersion) return;\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 handleChange = (value?: ElSelectorModelValue): void => {\n\t\t\t// 判断是否为多选\n\t\t\tif (props.multiple) {\n\t\t\t\t// value 必然是数组\n\t\t\t\tconst valueArr = Array.isArray(value) ? value : [];\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((item) => item.value !== undefined && valueArr.includes(item.value));\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = dataList.map((item) => item.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 ?? null;\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", data ?? null, 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 (!Array.isArray(newValue)) {\n\t\t\t\t\t\t\tconsole.error(\"[Fast:FaSelect]\", \"当启用 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\tconsole.error(\"[Fast:FaSelect]\", \"当启用 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\tconst value: unknown = item;\n\t\t\t\t\t\t\t\tconst label: unknown = Array.isArray(props.label) ? props.label[index] : undefined;\n\t\t\t\t\t\t\t\tconst selectorValue: ElSelectorValue | undefined =\n\t\t\t\t\t\t\t\t\tvalue !== null &&\n\t\t\t\t\t\t\t\t\t(typeof value === \"string\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"number\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"boolean\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"object\")\n\t\t\t\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tvalue: selectorValue,\n\t\t\t\t\t\t\t\t\tlabel: hasLabel && typeof label === \"string\" ? label : undefined,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (Array.isArray(newValue)) {\n\t\t\t\t\t\t\tconsole.error(\"[Fast:FaSelect]\", \"当禁用 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\tconsole.error(\"[Fast:FaSelect]\", \"当禁用 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: typeof props.label === \"string\" ? props.label : undefined,\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\tconst firstItem = state.selectorData[0];\n\t\t\t\tif (firstItem?.value !== undefined) {\n\t\t\t\t\thandleChange(props.multiple ? [firstItem.value] : firstItem.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\t() => {\n\t\t\t\t\tif (!props.requestApi) {\n\t\t\t\t\t\treturn 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 elSelectProps = useProps(props, selectProps, [\"modelValue\", \"popperClass\", \"loading\", \"props\"]);\n\t\tconst elSelectEmits = useEmits(selectEmits, emit, [\"update:modelValue\", \"change\", \"clear\", \"visible-change\"]);\n\t\tconst elPopperClass = computed(() => [\n\t\t\t\"fa-select-dropdown\",\n\t\t\tprops.popperClass,\n\t\t\tprops.moreDetail && `fa-select-dropdown__more-detail fa-select-dropdown__more-detail-${_globalSize.value}`,\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\"\n\t\t\t\tpopperClass={elPopperClass.value}\n\t\t\t\tstyle={{ width: addCssUnit(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\tonVisible-change={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\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</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\trefresh: loadData,\n\t\t\t/** @description 设置选择 */\n\t\t\tsetSelection: (value: Exclude<ElSelectorModelValue, null | undefined>) => handleChange(value),\n\t\t\t/** @description 清除选择 */\n\t\t\tclearSelection: () => handleChange(null),\n\t\t});\n\t},\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select.mjs","names":["update:modelValue","update:label"],"sources":["../../../../src/components/select/src/select.tsx"],"sourcesContent":["import { useVModel } from \"@vueuse/core\";\nimport { computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ElSelect, selectEmits, selectProps, useGlobalSize } from \"element-plus\";\nimport { isArray, isBoolean, isEqual, isNil, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport { addCssUnit, definePropType, makeSlots, useEmits, useExpose, useProps, useRender, withDefineType } from \"../../../utils\";\nimport FaSelectOption from \"./selectOption\";\nimport type { ElSelectorModelValue, ElSelectorOutput, ElSelectorValue } from \"./select.type\";\nimport type { VNode } from \"vue\";\n\n/** 传递给底层 Element Plus 选择器的扩展 Props。 */\nexport interface SelectComponentProps {\n\t/** @description 指定标签为节点的某个属性值 */\n\tlabel?: string | ((data: ElSelectorOutput) => string);\n\t/** @description 指定是否隐藏为节点的某个属性值 */\n\thide?: string | ((data: ElSelectorOutput) => boolean);\n\t/** @description 指定是否禁用为节点的某个属性值 */\n\tdisabled?: string | ((data: ElSelectorOutput) => boolean);\n\t/** @description 指定子节点对象为节点的某个属性值 */\n\tchildren?: string;\n}\n\n/** FaSelect 的运行时 Props 定义。 */\nexport const faSelectProps = {\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<ElSelectorModelValue>([String, Number, Boolean, Object, Array]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: definePropType<string | string[] | null>([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[]>(Array),\n\t\tdefault: (): ElSelectorOutput[] => [],\n\t},\n\t/** @description 请求api */\n\trequestApi: {\n\t\ttype: definePropType<(params?: unknown) => Promise<ElSelectorOutput[]>>(Function),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<unknown>([String, Number, Object]),\n};\n\n/** FaSelect 的运行时 Emits 定义。 */\nexport const faSelectEmits = {\n\t...selectEmits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: ElSelectorModelValue): 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[] | null): boolean => isString(value) || isArray(value) || isNull(value),\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElSelectorOutput[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (_data: unknown, _value?: ElSelectorModelValue): boolean => true,\n};\n\n/** FaSelect 的插槽参数。 */\nexport interface FaSelectSlots extends Record<string, unknown> {\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: \"FaSelect\",\n\tprops: faSelectProps,\n\temits: faSelectEmits,\n\tslots: makeSlots<FaSelectSlots>(),\n\tsetup(props, { 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<ElSelectorModelValue>(),\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 selectRef = ref<InstanceType<typeof ElSelect>>();\n\t\tlet requestVersion = 0;\n\n\t\tconst handleData = (data: ElSelectorOutput[]): ElSelectorOutput[] => {\n\t\t\treturn data\n\t\t\t\t.map((item): ElSelectorOutput => {\n\t\t\t\t\tconst value = item[props.valueKey];\n\t\t\t\t\tconst label = typeof props.props.label === \"function\" ? props.props.label(item) : item[props.props.label ?? \"label\"];\n\t\t\t\t\tconst hide = typeof props.props.hide === \"function\" ? props.props.hide(item) : item[props.props.hide ?? \"hide\"];\n\t\t\t\t\tconst disabled =\n\t\t\t\t\t\ttypeof props.props.disabled === \"function\" ? props.props.disabled(item) : item[props.props.disabled ?? \"disabled\"];\n\t\t\t\t\tconst children = item[props.props.children ?? \"children\"];\n\t\t\t\t\tconst selectorValue: ElSelectorValue | undefined =\n\t\t\t\t\t\tvalue !== null &&\n\t\t\t\t\t\t(typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\" || typeof value === \"object\")\n\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...item,\n\t\t\t\t\t\tchildren: Array.isArray(children) ? handleData(children as ElSelectorOutput[]) : [],\n\t\t\t\t\t\tdisabled: typeof disabled === \"boolean\" ? disabled : undefined,\n\t\t\t\t\t\thide: typeof hide === \"boolean\" ? hide : undefined,\n\t\t\t\t\t\tlabel: typeof label === \"string\" ? label : undefined,\n\t\t\t\t\t\tvalue: selectorValue,\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t\t.filter((item) => item.hide !== true);\n\t\t};\n\n\t\tconst loadData = async (): Promise<void> => {\n\t\t\tconst currentRequestVersion = ++requestVersion;\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\tif (currentRequestVersion !== requestVersion) return;\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\tif (currentRequestVersion !== requestVersion) return;\n\t\t\t\t\tstate.selectorData = [];\n\t\t\t\t\tthrow error;\n\t\t\t\t} finally {\n\t\t\t\t\tif (currentRequestVersion === requestVersion) state.loading = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (currentRequestVersion !== requestVersion) return;\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 handleChange = (value?: ElSelectorModelValue): void => {\n\t\t\t// 判断是否为多选\n\t\t\tif (props.multiple) {\n\t\t\t\t// value 必然是数组\n\t\t\t\tconst valueArr = Array.isArray(value) ? value : [];\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((item) => item.value !== undefined && valueArr.includes(item.value));\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = dataList.map((item) => item.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 ?? null;\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", data ?? null, 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 (!Array.isArray(newValue)) {\n\t\t\t\t\t\t\tconsole.error(\"[Fast:FaSelect]\", \"当启用 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\tconsole.error(\"[Fast:FaSelect]\", \"当启用 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\tconst value: unknown = item;\n\t\t\t\t\t\t\t\tconst label: unknown = Array.isArray(props.label) ? props.label[index] : undefined;\n\t\t\t\t\t\t\t\tconst selectorValue: ElSelectorValue | undefined =\n\t\t\t\t\t\t\t\t\tvalue !== null &&\n\t\t\t\t\t\t\t\t\t(typeof value === \"string\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"number\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"boolean\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"object\")\n\t\t\t\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tvalue: selectorValue,\n\t\t\t\t\t\t\t\t\tlabel: hasLabel && typeof label === \"string\" ? label : undefined,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (Array.isArray(newValue)) {\n\t\t\t\t\t\t\tconsole.error(\"[Fast:FaSelect]\", \"当禁用 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\tconsole.error(\"[Fast:FaSelect]\", \"当禁用 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: typeof props.label === \"string\" ? props.label : undefined,\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\tconst firstItem = state.selectorData[0];\n\t\t\t\tif (firstItem?.value !== undefined) {\n\t\t\t\t\thandleChange(props.multiple ? [firstItem.value] : firstItem.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\t() => {\n\t\t\t\t\tif (!props.requestApi) {\n\t\t\t\t\t\treturn 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 elSelectProps = useProps(props, selectProps, [\"modelValue\", \"popperClass\", \"loading\", \"props\"]);\n\t\tconst elSelectEmits = useEmits(selectEmits, emit, [\"update:modelValue\", \"change\", \"clear\", \"visible-change\"]);\n\t\tconst elPopperClass = computed(() => [\n\t\t\t\"fa-select-dropdown\",\n\t\t\tprops.popperClass,\n\t\t\tprops.moreDetail && `fa-select-dropdown__more-detail fa-select-dropdown__more-detail-${_globalSize.value}`,\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\"\n\t\t\t\tpopperClass={elPopperClass.value}\n\t\t\t\tstyle={{ width: addCssUnit(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\tonVisible-change={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\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</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\trefresh: loadData,\n\t\t\t/** @description 设置选择 */\n\t\t\tsetSelection: (value: Exclude<ElSelectorModelValue, null | undefined>) => handleChange(value),\n\t\t\t/** @description 清除选择 */\n\t\t\tclearSelection: () => handleChange(null),\n\t\t});\n\t},\n});\n"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { definePropType } from "../../../utils/vue/props.mjs";
|
|
2
2
|
import { useRender } from "../../../utils/vue/render.mjs";
|
|
3
3
|
import { makeSlots } from "../../../utils/vue/slots.mjs";
|
|
4
|
-
import isUndefined from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isUndefined.mjs";
|
|
5
4
|
import { Fragment, computed, createVNode, defineComponent, h, isVNode, reactive, resolveComponent } from "vue";
|
|
6
5
|
import { ElOption, ElOptionGroup } from "element-plus";
|
|
6
|
+
import { isUndefined } from "lodash-unified";
|
|
7
7
|
//#region src/components/select/src/selectOption.tsx
|
|
8
8
|
function _isSlot(s) {
|
|
9
9
|
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
@@ -5,19 +5,12 @@ import { definePropType, useProps } from "../../../utils/vue/props.mjs";
|
|
|
5
5
|
import { useRender } from "../../../utils/vue/render.mjs";
|
|
6
6
|
import { makeSlots } from "../../../utils/vue/slots.mjs";
|
|
7
7
|
import { withDefineType } from "../../../utils/vue/with.mjs";
|
|
8
|
-
import isArray from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isArray.mjs";
|
|
9
|
-
import isObject from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isObject.mjs";
|
|
10
|
-
import isString from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isString.mjs";
|
|
11
|
-
import isBoolean from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isBoolean.mjs";
|
|
12
|
-
import isEqual from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isEqual.mjs";
|
|
13
|
-
import isNumber from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isNumber.mjs";
|
|
14
|
-
import isNil from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isNil.mjs";
|
|
15
|
-
import isNull from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isNull.mjs";
|
|
16
|
-
import { useVModel } from "../../../node_modules/.pnpm/@vueuse_core@14.4.0_vue@3.5.41_typescript@6.0.3_/node_modules/@vueuse/core/dist/index.mjs";
|
|
17
8
|
import { FaSelectOption } from "../../select/index.mjs";
|
|
18
9
|
import { Fragment, computed, createTextVNode, createVNode, defineComponent, mergeProps, onMounted, reactive, ref, watch } from "vue";
|
|
19
10
|
import { Search } from "@element-plus/icons-vue";
|
|
20
11
|
import { ElButton, ElInput, ElOption, ElPagination, ElSelect, selectEmits, selectProps, useGlobalSize } from "element-plus";
|
|
12
|
+
import { isArray, isBoolean, isEqual, isNil, isNull, isNumber, isObject, isString } from "lodash-unified";
|
|
13
|
+
import { useVModel } from "@vueuse/core";
|
|
21
14
|
//#region src/components/selectPage/src/selectPage.tsx
|
|
22
15
|
/** FaSelectPage 的运行时 Props 定义。 */
|
|
23
16
|
const faSelectPageProps = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectPage.mjs","names":["update:modelValue","update:label"],"sources":["../../../../src/components/selectPage/src/selectPage.tsx"],"sourcesContent":["import { useVModel } from \"@vueuse/core\";\nimport { Fragment, computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { Search } from \"@element-plus/icons-vue\";\nimport { ElButton, ElInput, ElOption, ElPagination, ElSelect, selectEmits, selectProps, useGlobalSize } from \"element-plus\";\nimport { isArray, isBoolean, isEqual, isNil, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport { addCssUnit, definePropType, makeSlots, useEmits, useExpose, useProps, useRender, withDefineType } from \"../../../utils\";\nimport { FaSelectOption } from \"../../select\";\nimport { type SelectComponentProps } from \"../../select/src/select\";\nimport type { ElSelectorModelValue, ElSelectorOutput, ElSelectorValue } from \"../../select\";\nimport type { PagedInput, PagedResult } from \"../../table\";\nimport type { VNode } from \"vue\";\n\n/** FaSelectPage 的运行时 Props 定义。 */\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<ElSelectorModelValue>([String, Number, Boolean, Object, Array]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: definePropType<string | string[] | null>([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\trequired: true as const,\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<unknown>([String, Number, Object]),\n};\n\n/** FaSelectPage 的运行时 Emits 定义。 */\nexport const faSelectPageEmits = {\n\t...selectEmits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: ElSelectorModelValue): 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[] | null): boolean => isString(value) || isArray(value) || isNull(value),\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElSelectorOutput[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (_data: unknown, _value?: ElSelectorModelValue): boolean => true,\n};\n\n/** FaSelectPage 的插槽参数。 */\nexport interface FaSelectPageSlots extends Record<string, unknown> {\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, { 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<ElSelectorModelValue>(),\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\t\tlet requestVersion = 0;\n\n\t\tconst handleData = (data: ElSelectorOutput[]): ElSelectorOutput[] => {\n\t\t\treturn data\n\t\t\t\t.map((item): ElSelectorOutput => {\n\t\t\t\t\tconst value = item[props.valueKey];\n\t\t\t\t\tconst label = typeof props.props.label === \"function\" ? props.props.label(item) : item[props.props.label ?? \"label\"];\n\t\t\t\t\tconst hide = typeof props.props.hide === \"function\" ? props.props.hide(item) : item[props.props.hide ?? \"hide\"];\n\t\t\t\t\tconst disabled =\n\t\t\t\t\t\ttypeof props.props.disabled === \"function\" ? props.props.disabled(item) : item[props.props.disabled ?? \"disabled\"];\n\t\t\t\t\tconst children = item[props.props.children ?? \"children\"];\n\t\t\t\t\tconst selectorValue: ElSelectorValue | undefined =\n\t\t\t\t\t\tvalue !== null &&\n\t\t\t\t\t\t(typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\" || typeof value === \"object\")\n\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...item,\n\t\t\t\t\t\tchildren: Array.isArray(children) ? handleData(children as ElSelectorOutput[]) : [],\n\t\t\t\t\t\tdisabled: typeof disabled === \"boolean\" ? disabled : undefined,\n\t\t\t\t\t\thide: typeof hide === \"boolean\" ? hide : undefined,\n\t\t\t\t\t\tlabel: typeof label === \"string\" ? label : undefined,\n\t\t\t\t\t\tvalue: selectorValue,\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t\t.filter((item) => item.hide !== true);\n\t\t};\n\n\t\tconst loadData = async (pageIndex?: number): Promise<void> => {\n\t\t\tconst currentRequestVersion = ++requestVersion;\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...(typeof props.initParam === \"object\" && props.initParam !== null ? 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\tif (currentRequestVersion !== requestVersion) return;\n\t\t\t\t// 这里不允许回显了\n\t\t\t\tstate.echo = false;\n\t\t\t\tstate.totalRows = resData.totalRows ?? 0;\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\tif (currentRequestVersion !== requestVersion) return;\n\t\t\t\tstate.pageIndex = 1;\n\t\t\t\tstate.totalRows = 0;\n\t\t\t\tstate.selectorData = [];\n\t\t\t\tthrow error;\n\t\t\t} finally {\n\t\t\t\tif (currentRequestVersion === requestVersion) state.loading = false;\n\t\t\t}\n\t\t};\n\n\t\tconst handleChange = (value?: ElSelectorModelValue): void => {\n\t\t\t// 判断是否为多选\n\t\t\tif (props.multiple) {\n\t\t\t\t// value 必然是数组\n\t\t\t\tconst valueArr = Array.isArray(value) ? value : [];\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((item) => item.value !== undefined && valueArr.includes(item.value));\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = dataList.map((item) => item.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((item) => item.value !== undefined && valueArr.includes(item.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 ?? null;\n\t\t\t\tif (data && !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 ?? null, 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 (!Array.isArray(newValue)) {\n\t\t\t\t\t\t\tconsole.error(\"[Fast: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\tconsole.error(\"[Fast: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\tconst value: unknown = item;\n\t\t\t\t\t\t\t\tconst label: unknown = Array.isArray(props.label) ? props.label[index] : undefined;\n\t\t\t\t\t\t\t\tconst selectorValue: ElSelectorValue | undefined =\n\t\t\t\t\t\t\t\t\tvalue !== null &&\n\t\t\t\t\t\t\t\t\t(typeof value === \"string\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"number\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"boolean\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"object\")\n\t\t\t\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tvalue: selectorValue,\n\t\t\t\t\t\t\t\t\tlabel: hasLabel && typeof label === \"string\" ? label : undefined,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (Array.isArray(newValue)) {\n\t\t\t\t\t\t\tconsole.error(\"[Fast: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\tconsole.error(\"[Fast: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: typeof props.label === \"string\" ? props.label : undefined,\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\", \"props\"]);\n\t\tconst elSelectEmits = useEmits(selectEmits, emit, [\"update:modelValue\", \"change\", \"clear\", \"visible-change\"]);\n\t\tconst elPopperClass = computed(() => [\n\t\t\t`fa-select-page-dropdown fa-select-page-dropdown-${_globalSize.value}`,\n\t\t\tprops.popperClass,\n\t\t\tprops.moreDetail && `fa-select-dropdown__more-detail fa-select-dropdown__more-detail-${_globalSize.value}`,\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: addCssUnit(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\tonVisible-change={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?.value !== undefined && (\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={Boolean(state.searchValue)}\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\tvoid loadData(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: () => (\n\t\t\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\t\t\tloading={state.loading}\n\t\t\t\t\t\t\t\t\t\t\t\ticon={Search}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tvoid loadData(1);\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t/>\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</ElInput>\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t{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\tonCurrent-change={loadData}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{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: _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 ?? _label, value: selectedData?.value ?? 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: Exclude<ElSelectorModelValue, null | undefined>) => handleChange(value),\n\t\t\t/** @description 清除选择 */\n\t\t\tclearSelection: () => handleChange(null),\n\t\t});\n\t},\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"selectPage.mjs","names":["update:modelValue","update:label"],"sources":["../../../../src/components/selectPage/src/selectPage.tsx"],"sourcesContent":["import { useVModel } from \"@vueuse/core\";\nimport { Fragment, computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { Search } from \"@element-plus/icons-vue\";\nimport { ElButton, ElInput, ElOption, ElPagination, ElSelect, selectEmits, selectProps, useGlobalSize } from \"element-plus\";\nimport { isArray, isBoolean, isEqual, isNil, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport { addCssUnit, definePropType, makeSlots, useEmits, useExpose, useProps, useRender, withDefineType } from \"../../../utils\";\nimport { FaSelectOption } from \"../../select\";\nimport { type SelectComponentProps } from \"../../select/src/select\";\nimport type { ElSelectorModelValue, ElSelectorOutput, ElSelectorValue } from \"../../select\";\nimport type { PagedInput, PagedResult } from \"../../table\";\nimport type { VNode } from \"vue\";\n\n/** FaSelectPage 的运行时 Props 定义。 */\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<ElSelectorModelValue>([String, Number, Boolean, Object, Array]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: definePropType<string | string[] | null>([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\trequired: true as const,\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<unknown>([String, Number, Object]),\n};\n\n/** FaSelectPage 的运行时 Emits 定义。 */\nexport const faSelectPageEmits = {\n\t...selectEmits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: ElSelectorModelValue): 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[] | null): boolean => isString(value) || isArray(value) || isNull(value),\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElSelectorOutput[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (_data: unknown, _value?: ElSelectorModelValue): boolean => true,\n};\n\n/** FaSelectPage 的插槽参数。 */\nexport interface FaSelectPageSlots extends Record<string, unknown> {\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, { 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<ElSelectorModelValue>(),\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\t\tlet requestVersion = 0;\n\n\t\tconst handleData = (data: ElSelectorOutput[]): ElSelectorOutput[] => {\n\t\t\treturn data\n\t\t\t\t.map((item): ElSelectorOutput => {\n\t\t\t\t\tconst value = item[props.valueKey];\n\t\t\t\t\tconst label = typeof props.props.label === \"function\" ? props.props.label(item) : item[props.props.label ?? \"label\"];\n\t\t\t\t\tconst hide = typeof props.props.hide === \"function\" ? props.props.hide(item) : item[props.props.hide ?? \"hide\"];\n\t\t\t\t\tconst disabled =\n\t\t\t\t\t\ttypeof props.props.disabled === \"function\" ? props.props.disabled(item) : item[props.props.disabled ?? \"disabled\"];\n\t\t\t\t\tconst children = item[props.props.children ?? \"children\"];\n\t\t\t\t\tconst selectorValue: ElSelectorValue | undefined =\n\t\t\t\t\t\tvalue !== null &&\n\t\t\t\t\t\t(typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\" || typeof value === \"object\")\n\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...item,\n\t\t\t\t\t\tchildren: Array.isArray(children) ? handleData(children as ElSelectorOutput[]) : [],\n\t\t\t\t\t\tdisabled: typeof disabled === \"boolean\" ? disabled : undefined,\n\t\t\t\t\t\thide: typeof hide === \"boolean\" ? hide : undefined,\n\t\t\t\t\t\tlabel: typeof label === \"string\" ? label : undefined,\n\t\t\t\t\t\tvalue: selectorValue,\n\t\t\t\t\t};\n\t\t\t\t})\n\t\t\t\t.filter((item) => item.hide !== true);\n\t\t};\n\n\t\tconst loadData = async (pageIndex?: number): Promise<void> => {\n\t\t\tconst currentRequestVersion = ++requestVersion;\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...(typeof props.initParam === \"object\" && props.initParam !== null ? 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\tif (currentRequestVersion !== requestVersion) return;\n\t\t\t\t// 这里不允许回显了\n\t\t\t\tstate.echo = false;\n\t\t\t\tstate.totalRows = resData.totalRows ?? 0;\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\tif (currentRequestVersion !== requestVersion) return;\n\t\t\t\tstate.pageIndex = 1;\n\t\t\t\tstate.totalRows = 0;\n\t\t\t\tstate.selectorData = [];\n\t\t\t\tthrow error;\n\t\t\t} finally {\n\t\t\t\tif (currentRequestVersion === requestVersion) state.loading = false;\n\t\t\t}\n\t\t};\n\n\t\tconst handleChange = (value?: ElSelectorModelValue): void => {\n\t\t\t// 判断是否为多选\n\t\t\tif (props.multiple) {\n\t\t\t\t// value 必然是数组\n\t\t\t\tconst valueArr = Array.isArray(value) ? value : [];\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((item) => item.value !== undefined && valueArr.includes(item.value));\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = dataList.map((item) => item.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((item) => item.value !== undefined && valueArr.includes(item.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 ?? null;\n\t\t\t\tif (data && !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 ?? null, 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 (!Array.isArray(newValue)) {\n\t\t\t\t\t\t\tconsole.error(\"[Fast: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\tconsole.error(\"[Fast: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\tconst value: unknown = item;\n\t\t\t\t\t\t\t\tconst label: unknown = Array.isArray(props.label) ? props.label[index] : undefined;\n\t\t\t\t\t\t\t\tconst selectorValue: ElSelectorValue | undefined =\n\t\t\t\t\t\t\t\t\tvalue !== null &&\n\t\t\t\t\t\t\t\t\t(typeof value === \"string\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"number\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"boolean\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"object\")\n\t\t\t\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tvalue: selectorValue,\n\t\t\t\t\t\t\t\t\tlabel: hasLabel && typeof label === \"string\" ? label : undefined,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (Array.isArray(newValue)) {\n\t\t\t\t\t\t\tconsole.error(\"[Fast: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\tconsole.error(\"[Fast: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: typeof props.label === \"string\" ? props.label : undefined,\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\", \"props\"]);\n\t\tconst elSelectEmits = useEmits(selectEmits, emit, [\"update:modelValue\", \"change\", \"clear\", \"visible-change\"]);\n\t\tconst elPopperClass = computed(() => [\n\t\t\t`fa-select-page-dropdown fa-select-page-dropdown-${_globalSize.value}`,\n\t\t\tprops.popperClass,\n\t\t\tprops.moreDetail && `fa-select-dropdown__more-detail fa-select-dropdown__more-detail-${_globalSize.value}`,\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: addCssUnit(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\tonVisible-change={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?.value !== undefined && (\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={Boolean(state.searchValue)}\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\tvoid loadData(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: () => (\n\t\t\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\t\t\tloading={state.loading}\n\t\t\t\t\t\t\t\t\t\t\t\ticon={Search}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tvoid loadData(1);\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t/>\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</ElInput>\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t{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\tonCurrent-change={loadData}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{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: _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 ?? _label, value: selectedData?.value ?? 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: Exclude<ElSelectorModelValue, null | undefined>) => handleChange(value),\n\t\t\t/** @description 清除选择 */\n\t\t\tclearSelection: () => handleChange(null),\n\t\t});\n\t},\n});\n"],"mappings":"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"}
|
|
@@ -5,18 +5,11 @@ import { definePropType, useProps } from "../../../utils/vue/props.mjs";
|
|
|
5
5
|
import { useRender } from "../../../utils/vue/render.mjs";
|
|
6
6
|
import { makeSlots } from "../../../utils/vue/slots.mjs";
|
|
7
7
|
import { withDefineType } from "../../../utils/vue/with.mjs";
|
|
8
|
-
import isArray from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isArray.mjs";
|
|
9
|
-
import isObject from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isObject.mjs";
|
|
10
|
-
import isString from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isString.mjs";
|
|
11
|
-
import isBoolean from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isBoolean.mjs";
|
|
12
|
-
import isEqual from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isEqual.mjs";
|
|
13
|
-
import isNumber from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isNumber.mjs";
|
|
14
|
-
import isNil from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isNil.mjs";
|
|
15
|
-
import isNull from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isNull.mjs";
|
|
16
|
-
import { useVModel } from "../../../node_modules/.pnpm/@vueuse_core@14.4.0_vue@3.5.41_typescript@6.0.3_/node_modules/@vueuse/core/dist/index.mjs";
|
|
17
8
|
import { computed, createVNode, defineComponent, mergeProps, onMounted, reactive, ref, watch } from "vue";
|
|
18
9
|
import { ArrowDown, CircleClose } from "@element-plus/icons-vue";
|
|
19
10
|
import { ElSelectV2, tagProps, useAriaProps, useEmptyValuesProps, useGlobalSize, useSizeProp, useTooltipContentProps } from "element-plus";
|
|
11
|
+
import { isArray, isBoolean, isEqual, isNil, isNull, isNumber, isObject, isString } from "lodash-unified";
|
|
12
|
+
import { useVModel } from "@vueuse/core";
|
|
20
13
|
//#region src/components/selectV2/src/selectV2.tsx
|
|
21
14
|
/** FaSelectV2 支持的业务选择器 Props 定义。 */
|
|
22
15
|
const SelectV2Props = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectV2.mjs","names":["update:modelValue","end-reached","remove-tag","visible-change","update:label"],"sources":["../../../../src/components/selectV2/src/selectV2.tsx"],"sourcesContent":["import { useVModel } from \"@vueuse/core\";\nimport { computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ArrowDown, CircleClose } from \"@element-plus/icons-vue\";\nimport { ElSelectV2, tagProps, useAriaProps, useEmptyValuesProps, useGlobalSize, useSizeProp, useTooltipContentProps } from \"element-plus\";\nimport { isArray, isBoolean, isEqual, isNil, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport { addCssUnit, definePropType, makeSlots, useEmits, useExpose, useProps, useRender, withDefineType } from \"../../../utils\";\nimport type { ElSelectorModelValue, ElSelectorOutput, ElSelectorValue } from \"../../select/src/select.type\";\nimport type { PagedInput, PagedResult } from \"../../table\";\nimport type { SelectV2Props as ElementPlusSelectV2Props, Options, Placement } from \"element-plus\";\nimport type { Component, PropType, VNode } from \"vue\";\n\n/** 传递给底层 Element Plus 虚拟化选择器的扩展 Props。 */\nexport interface Props {\n\tlabel?: string;\n\tvalue?: string;\n\tdisabled?: string;\n\toptions?: string;\n}\n\n/** FaSelectV2 支持的业务选择器 Props 定义。 */\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<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/** @description collapse-tags tooltip configuration */\n\ttagTooltip: {\n\t\ttype: definePropType<ElementPlusSelectV2Props[\"tagTooltip\"]>(Object),\n\t\tdefault: (): NonNullable<ElementPlusSelectV2Props[\"tagTooltip\"]> => ({}),\n\t},\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 as PropType<ElementPlusSelectV2Props[\"filterMethod\"]>,\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<ElSelectorModelValue>([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 as PropType<ElementPlusSelectV2Props[\"remoteMethod\"]>,\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, unknown>\n\t\t\t\t| (Record<string, unknown> & {\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/** @description custom style for Select's dropdown */\n\tpopperStyle: useTooltipContentProps.popperStyle,\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/** @description debounce delay during remote search, in milliseconds */\n\tdebounce: {\n\t\ttype: Number,\n\t\tdefault: 300,\n\t},\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/** @description whether to show the suffix icon during remote search */\n\tremoteShowSuffix: Boolean,\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/** @description whether the dropdown width follows the input width, or a fixed width */\n\tfitInputWidth: {\n\t\ttype: [Boolean, Number],\n\t\tdefault: true,\n\t\tvalidator: (value: boolean | number): boolean => isBoolean(value) || isNumber(value),\n\t},\n\t/** @description select suffix icon */\n\tsuffixIcon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: ArrowDown,\n\t},\n\t...useEmptyValuesProps,\n\t...useAriaProps([\"ariaLabel\"]),\n};\n\n/** 底层虚拟化选择器的运行时 Emits 定义。 */\nexport const selectV2Emits = {\n\t\"update:modelValue\": (_value: ElSelectorModelValue): boolean => true,\n\tchange: (_value: ElSelectorModelValue): boolean => true,\n\t\"end-reached\": (_direction: unknown): boolean => true,\n\t\"remove-tag\": (_value: unknown): boolean => true,\n\t\"visible-change\": (_visible: boolean): boolean => true,\n\tfocus: (_event: FocusEvent): boolean => true,\n\tblur: (_event: FocusEvent): boolean => true,\n\tclear: (): boolean => true,\n} as const;\n\n/** FaSelectV2 的运行时 Props 定义。 */\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<ElSelectorModelValue>([String, Number, Boolean, Object, Array]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: definePropType<string | string[] | null>([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?: unknown) => Promise<ElSelectorOutput[]>) | ((params?: PagedInput) => Promise<PagedResult<ElSelectorOutput>>)>(\n\t\t\tFunction\n\t\t),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<unknown>([String, Number, Object]),\n};\n\n/** FaSelectV2 的运行时 Emits 定义。 */\nexport const faSelectV2Emits = {\n\t...selectV2Emits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: ElSelectorModelValue): 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[] | null): boolean => isString(value) || isArray(value) || isNull(value),\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElSelectorOutput[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (_data: unknown, _value?: ElSelectorModelValue): boolean => true,\n};\n\n/** FaSelectV2 的插槽参数。 */\nexport interface FaSelectV2Slots extends Record<string, unknown> {\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, { 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<ElSelectorModelValue>(),\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\t\tlet requestVersion = 0;\n\n\t\tconst loadData = async (): Promise<void> => {\n\t\t\tconst currentRequestVersion = ++requestVersion;\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\tif (currentRequestVersion !== requestVersion) return;\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\tif (currentRequestVersion !== requestVersion) return;\n\t\t\t\t\tstate.selectorData = [];\n\t\t\t\t\tthrow error;\n\t\t\t\t} finally {\n\t\t\t\t\tif (currentRequestVersion === requestVersion) state.loading = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (currentRequestVersion !== requestVersion) return;\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?: ElSelectorModelValue): void => {\n\t\t\t// 判断是否为多选\n\t\t\tif (props.multiple) {\n\t\t\t\t// value 必然是数组\n\t\t\t\tconst valueArr = Array.isArray(value) ? value : [];\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((item) => item.value !== undefined && valueArr.includes(item.value));\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = dataList.map((item) => item.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 ?? null;\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", data ?? null, 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 (!Array.isArray(newValue)) {\n\t\t\t\t\t\t\tconsole.error(\"[Fast: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\tconsole.error(\"[Fast: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\tconst value: unknown = item;\n\t\t\t\t\t\t\t\tconst label: unknown = Array.isArray(props.label) ? props.label[index] : undefined;\n\t\t\t\t\t\t\t\tconst selectorValue: ElSelectorValue | undefined =\n\t\t\t\t\t\t\t\t\tvalue !== null &&\n\t\t\t\t\t\t\t\t\t(typeof value === \"string\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"number\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"boolean\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"object\")\n\t\t\t\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tvalue: selectorValue,\n\t\t\t\t\t\t\t\t\tlabel: hasLabel && typeof label === \"string\" ? label : undefined,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (Array.isArray(newValue)) {\n\t\t\t\t\t\t\tconsole.error(\"[Fast: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\tconsole.error(\"[Fast: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: typeof props.label === \"string\" ? props.label : undefined,\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\tconst firstItem = state.selectorData[0];\n\t\t\t\tif (firstItem?.value !== undefined) {\n\t\t\t\t\thandleChange(props.multiple ? [firstItem.value] : firstItem.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\t() => {\n\t\t\t\t\tif (!props.requestApi) {\n\t\t\t\t\t\treturn 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-v2-dropdown__more-detail fa-select-v2-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: addCssUnit(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\tonVisible-change={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\tscrollTo: computed(() => selectV2Ref.value?.scrollTo),\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: Exclude<ElSelectorModelValue, null | undefined>) => handleChange(value),\n\t\t\t/** @description 清除选择 */\n\t\t\tclearSelection: () => handleChange(null),\n\t\t});\n\t},\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"selectV2.mjs","names":["update:modelValue","end-reached","remove-tag","visible-change","update:label"],"sources":["../../../../src/components/selectV2/src/selectV2.tsx"],"sourcesContent":["import { useVModel } from \"@vueuse/core\";\nimport { computed, defineComponent, onMounted, reactive, ref, watch } from \"vue\";\nimport { ArrowDown, CircleClose } from \"@element-plus/icons-vue\";\nimport { ElSelectV2, tagProps, useAriaProps, useEmptyValuesProps, useGlobalSize, useSizeProp, useTooltipContentProps } from \"element-plus\";\nimport { isArray, isBoolean, isEqual, isNil, isNull, isNumber, isObject, isString } from \"lodash-unified\";\nimport { addCssUnit, definePropType, makeSlots, useEmits, useExpose, useProps, useRender, withDefineType } from \"../../../utils\";\nimport type { ElSelectorModelValue, ElSelectorOutput, ElSelectorValue } from \"../../select/src/select.type\";\nimport type { PagedInput, PagedResult } from \"../../table\";\nimport type { SelectV2Props as ElementPlusSelectV2Props, Options, Placement } from \"element-plus\";\nimport type { Component, PropType, VNode } from \"vue\";\n\n/** 传递给底层 Element Plus 虚拟化选择器的扩展 Props。 */\nexport interface Props {\n\tlabel?: string;\n\tvalue?: string;\n\tdisabled?: string;\n\toptions?: string;\n}\n\n/** FaSelectV2 支持的业务选择器 Props 定义。 */\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<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/** @description collapse-tags tooltip configuration */\n\ttagTooltip: {\n\t\ttype: definePropType<ElementPlusSelectV2Props[\"tagTooltip\"]>(Object),\n\t\tdefault: (): NonNullable<ElementPlusSelectV2Props[\"tagTooltip\"]> => ({}),\n\t},\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 as PropType<ElementPlusSelectV2Props[\"filterMethod\"]>,\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<ElSelectorModelValue>([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 as PropType<ElementPlusSelectV2Props[\"remoteMethod\"]>,\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, unknown>\n\t\t\t\t| (Record<string, unknown> & {\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/** @description custom style for Select's dropdown */\n\tpopperStyle: useTooltipContentProps.popperStyle,\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/** @description debounce delay during remote search, in milliseconds */\n\tdebounce: {\n\t\ttype: Number,\n\t\tdefault: 300,\n\t},\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/** @description whether to show the suffix icon during remote search */\n\tremoteShowSuffix: Boolean,\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/** @description whether the dropdown width follows the input width, or a fixed width */\n\tfitInputWidth: {\n\t\ttype: [Boolean, Number],\n\t\tdefault: true,\n\t\tvalidator: (value: boolean | number): boolean => isBoolean(value) || isNumber(value),\n\t},\n\t/** @description select suffix icon */\n\tsuffixIcon: {\n\t\ttype: definePropType<string | Component>([String, Object, Function]),\n\t\tdefault: ArrowDown,\n\t},\n\t...useEmptyValuesProps,\n\t...useAriaProps([\"ariaLabel\"]),\n};\n\n/** 底层虚拟化选择器的运行时 Emits 定义。 */\nexport const selectV2Emits = {\n\t\"update:modelValue\": (_value: ElSelectorModelValue): boolean => true,\n\tchange: (_value: ElSelectorModelValue): boolean => true,\n\t\"end-reached\": (_direction: unknown): boolean => true,\n\t\"remove-tag\": (_value: unknown): boolean => true,\n\t\"visible-change\": (_visible: boolean): boolean => true,\n\tfocus: (_event: FocusEvent): boolean => true,\n\tblur: (_event: FocusEvent): boolean => true,\n\tclear: (): boolean => true,\n} as const;\n\n/** FaSelectV2 的运行时 Props 定义。 */\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<ElSelectorModelValue>([String, Number, Boolean, Object, Array]),\n\t\tdefault: undefined,\n\t},\n\t/** @description v-model:label绑定值 */\n\tlabel: definePropType<string | string[] | null>([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?: unknown) => Promise<ElSelectorOutput[]>) | ((params?: PagedInput) => Promise<PagedResult<ElSelectorOutput>>)>(\n\t\t\tFunction\n\t\t),\n\t},\n\t/** 初始化参数 */\n\tinitParam: definePropType<unknown>([String, Number, Object]),\n};\n\n/** FaSelectV2 的运行时 Emits 定义。 */\nexport const faSelectV2Emits = {\n\t...selectV2Emits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: ElSelectorModelValue): 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[] | null): boolean => isString(value) || isArray(value) || isNull(value),\n\t/** @description 数据改变 */\n\tdataChangeCallBack: (data: ElSelectorOutput[]): boolean => isArray(data),\n\t/** @description 改变 */\n\tchange: (_data: unknown, _value?: ElSelectorModelValue): boolean => true,\n};\n\n/** FaSelectV2 的插槽参数。 */\nexport interface FaSelectV2Slots extends Record<string, unknown> {\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, { 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<ElSelectorModelValue>(),\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\t\tlet requestVersion = 0;\n\n\t\tconst loadData = async (): Promise<void> => {\n\t\t\tconst currentRequestVersion = ++requestVersion;\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\tif (currentRequestVersion !== requestVersion) return;\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\tif (currentRequestVersion !== requestVersion) return;\n\t\t\t\t\tstate.selectorData = [];\n\t\t\t\t\tthrow error;\n\t\t\t\t} finally {\n\t\t\t\t\tif (currentRequestVersion === requestVersion) state.loading = false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (currentRequestVersion !== requestVersion) return;\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?: ElSelectorModelValue): void => {\n\t\t\t// 判断是否为多选\n\t\t\tif (props.multiple) {\n\t\t\t\t// value 必然是数组\n\t\t\t\tconst valueArr = Array.isArray(value) ? value : [];\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((item) => item.value !== undefined && valueArr.includes(item.value));\n\t\t\t\tstate.value = value;\n\t\t\t\tselectedLabel.value = dataList.map((item) => item.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 ?? null;\n\t\t\t\temit(\"update:modelValue\", value);\n\t\t\t\temit(\"change\", data ?? null, 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 (!Array.isArray(newValue)) {\n\t\t\t\t\t\t\tconsole.error(\"[Fast: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\tconsole.error(\"[Fast: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\tconst value: unknown = item;\n\t\t\t\t\t\t\t\tconst label: unknown = Array.isArray(props.label) ? props.label[index] : undefined;\n\t\t\t\t\t\t\t\tconst selectorValue: ElSelectorValue | undefined =\n\t\t\t\t\t\t\t\t\tvalue !== null &&\n\t\t\t\t\t\t\t\t\t(typeof value === \"string\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"number\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"boolean\" ||\n\t\t\t\t\t\t\t\t\t\ttypeof value === \"object\")\n\t\t\t\t\t\t\t\t\t\t? value\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tvalue: selectorValue,\n\t\t\t\t\t\t\t\t\tlabel: hasLabel && typeof label === \"string\" ? label : undefined,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (Array.isArray(newValue)) {\n\t\t\t\t\t\t\tconsole.error(\"[Fast: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\tconsole.error(\"[Fast: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: typeof props.label === \"string\" ? props.label : undefined,\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\tconst firstItem = state.selectorData[0];\n\t\t\t\tif (firstItem?.value !== undefined) {\n\t\t\t\t\thandleChange(props.multiple ? [firstItem.value] : firstItem.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\t() => {\n\t\t\t\t\tif (!props.requestApi) {\n\t\t\t\t\t\treturn 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-v2-dropdown__more-detail fa-select-v2-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: addCssUnit(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\tonVisible-change={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\tscrollTo: computed(() => selectV2Ref.value?.scrollTo),\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: Exclude<ElSelectorModelValue, null | undefined>) => handleChange(value),\n\t\t\t/** @description 清除选择 */\n\t\t\tclearSelection: () => handleChange(null),\n\t\t});\n\t},\n});\n"],"mappings":"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"}
|
|
@@ -5,15 +5,6 @@ import { useExpose } from "../../../utils/vue/expose.mjs";
|
|
|
5
5
|
import { definePropType, useProps } from "../../../utils/vue/props.mjs";
|
|
6
6
|
import { useRender } from "../../../utils/vue/render.mjs";
|
|
7
7
|
import { makeSlots } from "../../../utils/vue/slots.mjs";
|
|
8
|
-
import isArray from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isArray.mjs";
|
|
9
|
-
import isObject from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isObject.mjs";
|
|
10
|
-
import isFunction from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isFunction.mjs";
|
|
11
|
-
import isString from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isString.mjs";
|
|
12
|
-
import isBoolean from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isBoolean.mjs";
|
|
13
|
-
import isNumber from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isNumber.mjs";
|
|
14
|
-
import isNil from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isNil.mjs";
|
|
15
|
-
import isNull from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/isNull.mjs";
|
|
16
|
-
import omit from "../../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/omit.mjs";
|
|
17
8
|
import { tableUtil } from "../utils/table.mjs";
|
|
18
9
|
import { getTableDefaultSlots } from "./table.type.mjs";
|
|
19
10
|
import { useTable } from "./useTable.mjs";
|
|
@@ -25,6 +16,7 @@ import { NotData } from "@fast-element-plus/icons-vue";
|
|
|
25
16
|
import { Fragment, computed, createTextVNode, createVNode, defineComponent, mergeProps, onActivated, onMounted, ref, resolveDirective, watch, watchEffect, withDirectives } from "vue";
|
|
26
17
|
import { Eleme, More, Refresh, Search, Setting } from "@element-plus/icons-vue";
|
|
27
18
|
import { ElButton, ElDatePicker, ElDropdown, ElDropdownItem, ElDropdownMenu, ElIcon, ElImageViewer, ElInput, ElPagination, ElTable, ElTableColumn, useSizeProp } from "element-plus";
|
|
19
|
+
import { isArray, isBoolean, isFunction, isNil, isNull, isNumber, isObject, isString, omit } from "lodash-unified";
|
|
28
20
|
//#region src/components/table/src/table.tsx
|
|
29
21
|
/** Element Plus Table 的透传 Props 定义。 */
|
|
30
22
|
const tableProps = {
|