UNPKG

tdesign-vue-next

Version:
1 lines 16.8 kB
{"version":3,"file":"useSingle.mjs","sources":["../../../../components/select-input/hooks/useSingle.tsx"],"sourcesContent":["import { SetupContext, ref, computed, toRefs, Ref } from 'vue';\nimport { pick, isObject } from 'lodash-es';\n\nimport Input, { StrInputProps } from '../../input';\nimport Loading from '../../loading';\nimport { useTNodeJSX, useDisabled, useReadonly, usePrefixClass, useDefaultValue } from '@tdesign/shared-hooks';\n\nimport { PopupInstanceFunctions } from '../../popup';\nimport { TdSelectInputProps } from '../type';\nimport { SelectInputCommonProperties } from '../types';\n\n// single 和 multiple 共有特性\nconst COMMON_PROPERTIES = [\n 'status',\n 'clearable',\n 'disabled',\n 'label',\n 'placeholder',\n 'readonly',\n 'prefixIcon',\n 'suffix',\n 'suffixIcon',\n 'onPaste',\n 'onMouseenter',\n 'onMouseleave',\n 'size',\n 'autofocus',\n];\n\nconst DEFAULT_KEYS = {\n label: 'label',\n value: 'value',\n children: 'children',\n};\n\nexport interface SelectInputValueDisplayOptions {\n useInputDisplay: boolean;\n usePlaceholder: boolean;\n}\n\nfunction getInputValue(value: TdSelectInputProps['value'], keys: TdSelectInputProps['keys']) {\n const iKeys = { ...DEFAULT_KEYS, ...keys };\n // TODO: replace isObject as isPlainObject\n return isObject(value) ? (value as Record<string, any>)[iKeys.label] : value;\n}\n\nexport function useSingle(\n props: TdSelectInputProps & { valueDisplayOptions: SelectInputValueDisplayOptions },\n context: SetupContext,\n popupRef: Ref<PopupInstanceFunctions>,\n) {\n const { value, keys, inputValue: propsInputValue } = toRefs(props);\n const classPrefix = usePrefixClass();\n const isSingleFocus = ref(props.autofocus);\n const inputRef = ref();\n const [inputValue, setInputValue] = useDefaultValue(\n propsInputValue,\n props.defaultInputValue ?? '',\n props.onInputChange,\n 'inputValue',\n );\n const renderTNode = useTNodeJSX();\n const disable = useDisabled();\n const isReadonly = useReadonly();\n\n const commonInputProps = computed<SelectInputCommonProperties>(() => ({\n ...pick(props, COMMON_PROPERTIES),\n disabled: disable.value,\n readonly: isReadonly.value,\n }));\n\n const onInnerClear = (context: { e: MouseEvent }) => {\n context?.e?.stopPropagation();\n props.onClear?.(context);\n setInputValue('', { trigger: 'clear' });\n };\n\n const onInnerInputChange: StrInputProps['onChange'] = (value, context) => {\n if (props.allowInput) {\n setInputValue(value, { ...context, trigger: context.trigger || 'input' });\n }\n };\n\n const renderSelectSingle = (popupVisible: boolean) => {\n const singleValueDisplay = renderTNode('valueDisplay');\n const displayedValue = popupVisible && props.allowInput ? inputValue.value : getInputValue(value.value, keys.value);\n const prefixContent = renderPrefixContent(singleValueDisplay, popupVisible);\n\n const inputProps = {\n ...commonInputProps.value,\n value: renderInputDisplay(singleValueDisplay, displayedValue, popupVisible),\n label: prefixContent.length ? () => prefixContent : undefined,\n autoWidth: props.autoWidth,\n readonly: !props.allowInput || isReadonly.value,\n placeholder: renderPlaceholder(singleValueDisplay),\n suffixIcon: !disable.value && props.loading ? () => <Loading loading size=\"small\" /> : props.suffixIcon,\n showClearIconOnEmpty: Boolean(\n props.clearable && (inputValue.value || displayedValue) && !disable.value && !isReadonly.value,\n ),\n ...props.inputProps,\n };\n\n // eslint-disable-next-line\n const { tips, ...slots } = context.slots;\n\n const inputClassProps = popupVisible\n ? [`${classPrefix.value}-input--focused`, `${classPrefix.value}-is-focused`, inputProps?.inputClass]\n : inputProps?.inputClass;\n\n const onEnter: StrInputProps['onEnter'] = (val, context) => {\n props.onEnter?.(value.value, { ...context, inputValue: val });\n };\n\n const onFocus: StrInputProps['onFocus'] = (val, context) => {\n const overlayState = popupRef.value?.getOverlayState();\n if (isSingleFocus.value || overlayState?.hover) return;\n isSingleFocus.value = true;\n props.onFocus?.(value.value, { ...context, inputValue: val });\n };\n\n const onBlur: StrInputProps['onBlur'] = (val, context) => {\n const overlayState = popupRef.value?.getOverlayState();\n isSingleFocus.value = false;\n if (overlayState?.hover) return;\n props.onBlur?.(value.value, { ...context, inputValue: val });\n };\n\n return (\n <Input\n ref={inputRef}\n style={context.attrs?.style}\n v-slots={slots}\n {...{\n onChange: onInnerInputChange,\n onClear: onInnerClear,\n onEnter,\n onFocus,\n onBlur,\n ...inputProps,\n }}\n inputClass={inputClassProps}\n />\n );\n };\n\n const renderPrefixContent = (singleValueDisplay: any, popupVisible: boolean) => {\n // 需要隐藏valueDisplay的两个情况\n // 1 用户传入usePlaceholder希望使用自带占位符实现,则应在未选择值时隐藏valueDisplay,只展示占位符\n // 2 用户传入useInputDisplay希望使用自带输入回显实现,激活选择器浮层时只展示input值(待讨论是否修改为激活后真的输入字符再隐藏valueDisplay,此处实现效果与不使用valueDisplay只使用filterable时不同)\n const label = renderTNode('label');\n\n if (!label && !singleValueDisplay) {\n return [];\n }\n\n if (singleValueDisplay) {\n if (\n !value.value ||\n (props.valueDisplayOptions?.useInputDisplay && popupVisible) ||\n (popupVisible && props.allowInput)\n ) {\n return [label];\n }\n }\n return [label, singleValueDisplay];\n };\n\n const renderInputDisplay = (singleValueDisplay: any, displayedValue: any, popupVisible: boolean) => {\n // 使用valueDisplay插槽时,如用户传入useInputDisplay使用自带输入回显实现,未传则认为用户自行实现。\n if (singleValueDisplay) {\n if (popupVisible && props.allowInput) {\n return displayedValue;\n }\n if (\n !props.valueDisplayOptions?.useInputDisplay ||\n (props.valueDisplayOptions?.useInputDisplay && !popupVisible)\n ) {\n return undefined;\n }\n }\n\n return displayedValue;\n };\n\n const renderPlaceholder = (singleValueDisplay: any) => {\n // 使用valueDisplay插槽时,如用户传入usePlaceholder使用自带占位符实现,未传则认为用户自行实现。\n // 如果当前存在value(对应直接使用组件和select组件调用时),不显示占位符。\n\n if (singleValueDisplay) {\n if (!value.value || (props.allowInput && props.popupVisible)) return props.placeholder;\n if (!props.valueDisplayOptions?.usePlaceholder || (props.valueDisplayOptions?.usePlaceholder && value.value)) {\n return '';\n }\n }\n return props.placeholder;\n };\n\n return {\n inputRef,\n isSingleFocus,\n commonInputProps,\n singleInputValue: inputValue,\n onInnerClear,\n renderSelectSingle,\n };\n}\n"],"names":["COMMON_PROPERTIES","DEFAULT_KEYS","label","value","children","getInputValue","keys","iKeys","_objectSpread","isObject","useSingle","props","context","popupRef","_props$defaultInputVa","_toRefs","toRefs","propsInputValue","inputValue","classPrefix","usePrefixClass","isSingleFocus","ref","autofocus","inputRef","_useDefaultValue","useDefaultValue","defaultInputValue","onInputChange","_useDefaultValue2","_slicedToArray","setInputValue","renderTNode","useTNodeJSX","disable","useDisabled","isReadonly","useReadonly","commonInputProps","computed","pick","disabled","readonly","onInnerClear","_context2$e","_props$onClear","e","stopPropagation","onClear","call","trigger","onInnerInputChange","allowInput","renderSelectSingle","popupVisible","_context$attrs","singleValueDisplay","displayedValue","prefixContent","renderPrefixContent","inputProps","renderInputDisplay","length","autoWidth","placeholder","renderPlaceholder","suffixIcon","loading","_createVNode","Loading","showClearIconOnEmpty","Boolean","clearable","_context$slots","slots","tips","_objectWithoutProperties","_excluded","inputClassProps","concat","inputClass","onEnter","val","_props$onEnter","onFocus","_popupRef$value","_props$onFocus","overlayState","getOverlayState","hover","onBlur","_popupRef$value2","_props$onBlur","Input","_mergeProps","attrs","style","onChange","_props$valueDisplayOp","valueDisplayOptions","useInputDisplay","_props$valueDisplayOp2","_props$valueDisplayOp3","_props$valueDisplayOp4","_props$valueDisplayOp5","usePlaceholder","singleInputValue"],"mappings":"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"}