UNPKG

vue-admin-core

Version:
1 lines 6.63 kB
{"version":3,"file":"index.mjs","sources":["../../../../../../package/formily/select/src/index.tsx"],"sourcesContent":["/* eslint-disable indent */\nimport { connect, mapProps, h, mapReadPretty } from \"@formily/vue\";\nimport { PropType, defineComponent, reactive, ref, toRefs } from \"vue\";\nimport { PreviewText } from \"../../preview-text\";\n\nimport { ElSelect, ElOption, ElIcon, UPDATE_MODEL_EVENT, CHANGE_EVENT } from \"element-plus\";\nimport { useGlobalConfig } from \"@vue-admin-core/components/config-provider\";\nimport { Loading } from \"@element-plus/icons-vue\";\nimport { useArrToStr } from \"../../__builtins__/hooks/useArrToStr\";\nimport { PropsType } from \"../../__builtins__\";\nimport { isFunction, omit } from \"lodash-es\";\n\nexport type SelectProps = typeof ElSelect & {\n options?: Array<typeof ElOption>;\n};\n\nconst SelectOption = defineComponent({\n name: \"FSelect\",\n props: {\n ...ElSelect.props,\n options: Array as PropType<SelectProps[\"options\"]>,\n props: {\n type: Object as PropType<PropsType>,\n default: () => ({\n children: \"children\",\n label: \"label\",\n value: \"value\",\n disabled: \"disabled\"\n })\n }\n },\n emits: [UPDATE_MODEL_EVENT, CHANGE_EVENT],\n setup(props, ctx) {\n const config = useGlobalConfig();\n const select = ref();\n const _props = useArrToStr(props, ctx as any, { vm: select });\n return () => {\n const options = props.options || [];\n const slots = { ...ctx.slots };\n if (options.length !== 0 && !ctx.slots.default) {\n slots.default = () =>\n options.map((option: any) => {\n if (typeof option === \"string\") {\n return h(ElOption, { key: option, value: option, label: option }, {});\n } else {\n return h(\n ElOption,\n {\n key: option[props.props.value] || option[config.value.dictValueKey as string],\n label: option[props.props.label] || option[config.value.dictLabelKey as string],\n value: option[props.props.value] || option[config.value.dictValueKey as string],\n disabled: isFunction(props.props.disabled)\n ? props.props.disabled(option)\n : option[props.props.disabled]\n },\n {}\n );\n }\n });\n }\n return h(\n ElSelect,\n reactive({\n ...omit(toRefs(props), [\"options\", \"props\"]),\n ..._props,\n ref: (ref: any) => (select.value = ref)\n }),\n slots\n );\n };\n }\n});\n\nexport const Select = connect(\n SelectOption,\n mapProps(\n { dataSource: \"options\", loading: true, value: \"modelValue\", readOnly: \"readonly\" },\n (props, field) => {\n return {\n ...props,\n suffixIcon:\n // @ts-ignore\n field?.[\"loading\"] || field?.[\"validating\"] ? (\n <ElIcon class=\"is-loading\">\n <Loading />\n </ElIcon>\n ) : (\n props.suffixIcon\n )\n };\n }\n ),\n mapReadPretty(PreviewText.Select)\n);\n\nexport default Select;\n"],"names":["SelectOption","defineComponent","name","props","ElSelect","options","Array","type","Object","default","children","label","value","disabled","emits","UPDATE_MODEL_EVENT","CHANGE_EVENT","setup","ctx","config","useGlobalConfig","select","ref","_props","useArrToStr","vm","slots","length","map","option","h","ElOption","key","dictValueKey","dictLabelKey","isFunction","reactive","omit","toRefs","Select","connect","mapProps","dataSource","loading","readOnly","field","suffixIcon","_createVNode","ElIcon","Loading","mapReadPretty","PreviewText"],"mappings":"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"}