tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 16.1 kB
Source Map (JSON)
{"version":3,"file":"search.mjs","sources":["../../src/search/search.tsx"],"sourcesContent":["import { SearchIcon as TSearchIcon, CloseCircleFilledIcon as TIconClear } from 'tdesign-icons-vue-next';\nimport { ref, computed, defineComponent, nextTick, h } from 'vue';\nimport { useFocus } from '@vueuse/core';\nimport config from '../config';\nimport { preventDefault } from '../shared/dom';\nimport searchProps from './props';\nimport { useDefault } from '../shared/useDefault';\nimport { usePrefixClass } from '../hooks/useClass';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport useLengthLimit from '../hooks/useLengthLimit';\nimport { TdSearchProps } from './type';\nimport { ENTER_REG } from '../_common/js/common';\nimport TCell from '../cell/cell';\n\nconst { prefix } = config;\n\nexport default defineComponent({\n name: `${prefix}-search`,\n props: searchProps,\n setup(props, context) {\n const renderTNodeJSX = useTNodeJSX();\n const searchClass = usePrefixClass('search');\n\n const isShowResultList = ref(false);\n const isShowAction = ref(false);\n const inputRef = ref<HTMLInputElement>();\n const { focused } = useFocus(inputRef, { initialValue: props.focus });\n const [searchValue] = useDefault<TdSearchProps['value'], TdSearchProps>(props, context.emit, 'value', 'change');\n\n const boxClasses = computed(() => [\n `${searchClass.value}__input-box`,\n `${searchClass.value}__input-box--${props.shape}`,\n {\n [`${prefix}-is-focused`]: focused.value,\n },\n ]);\n\n const inputClasses = computed(() => [\n `${prefix}-input__keyword`,\n { [`${searchClass.value}--center`]: props.center },\n ]);\n\n const limitParams = computed(() => ({\n value: [undefined, null].includes(searchValue.value) ? undefined : String(searchValue.value),\n maxlength: Number(props.maxlength),\n maxcharacter: props.maxcharacter,\n allowInputOverMax: false,\n }));\n\n const { getValueByLimitNumber } = useLengthLimit(limitParams);\n\n const setInputValue = (v: TdSearchProps['value']) => {\n const input = inputRef.value;\n const sV = String(v);\n if (!input) {\n return;\n }\n if (input.value !== sV) {\n input.value = sV;\n }\n };\n\n const inputValueChangeHandle = (e: Event) => {\n const { value } = e.target as HTMLInputElement;\n searchValue.value = getValueByLimitNumber(value);\n nextTick(() => setInputValue(searchValue.value));\n };\n\n const handleInput = (e: Event) => {\n isShowResultList.value = true;\n if (e instanceof InputEvent) {\n // 中文输入的时候inputType是insertCompositionText所以中文输入的时候禁止触发。\n const checkInputType = e.inputType && e.inputType === 'insertCompositionText';\n if (e.isComposing || checkInputType) return;\n }\n inputValueChangeHandle(e);\n };\n\n const handleClear = (e: MouseEvent) => {\n searchValue.value = '';\n focused.value = true;\n props.onClear?.({ e });\n };\n\n const handleFocus = (e: FocusEvent) => {\n isShowAction.value = true;\n props.onFocus?.({ value: searchValue.value, e });\n };\n\n const handleBlur = (e: FocusEvent) => {\n isShowAction.value = false;\n props.onBlur?.({ value: searchValue.value, e });\n };\n\n const handleCompositionend = (e: CompositionEvent) => {\n inputValueChangeHandle(e);\n };\n\n const handleAction = (e: MouseEvent) => {\n props.onActionClick?.({ e });\n };\n\n const handleSearch = (e: KeyboardEvent) => {\n // 如果按的是 enter 键, 13是 enter\n if (ENTER_REG.test(e.code) || ENTER_REG.test(e.key)) {\n preventDefault(e, false);\n inputRef.value?.blur();\n props.onSubmit?.({ value: searchValue.value, e });\n }\n };\n\n return () => {\n const readerLeftIcon = () => {\n const leftIcon = renderTNodeJSX('leftIcon');\n if (leftIcon === 'search') {\n return <TSearchIcon size=\"24px\" />;\n }\n return renderTNodeJSX('leftIcon');\n };\n const readerClear = () => {\n if (props.clearable && searchValue.value) {\n return (\n <div class={`${searchClass.value}__clear`} onClick={handleClear}>\n <TIconClear size=\"24\" />\n </div>\n );\n }\n return null;\n };\n const readerAction = () => {\n const action = renderTNodeJSX('action');\n if (action && isShowAction.value) {\n return (\n <div class={`${searchClass.value}__search-action ${prefix}-class-action`} onClick={handleAction}>\n {action}\n </div>\n );\n }\n return null;\n };\n\n const onSelectResultItem = (params: { item: string }) => {\n isShowResultList.value = false;\n searchValue.value = params.item;\n };\n\n const highlightSearchValue = (item: string, searchValue: string) => {\n const parts = item.split(new RegExp(`(${searchValue})`, 'gi'));\n return parts.map((part, index) =>\n part.toLowerCase() === searchValue.toLowerCase() ? (\n <span key={index} class={`${searchClass.value}__result-item--highLight`}>\n {part}\n </span>\n ) : (\n part\n ),\n );\n };\n\n const listNodes = (params: { item: string; index: number }) => {\n return h(\n TCell,\n {\n key: params.index,\n class: `${searchClass.value}__result-item`,\n onClick: () => onSelectResultItem({ item: params.item }),\n },\n {\n title: () => highlightSearchValue(params.item, searchValue.value),\n },\n );\n };\n\n const extraProps = {\n enterkeyhint: 'search',\n };\n\n return (\n <div>\n <div class={`${searchClass.value}`}>\n <div class={boxClasses.value}>\n {readerLeftIcon()}\n <input\n ref={inputRef}\n value={searchValue.value}\n type=\"search\"\n class={inputClasses.value}\n autofocus={props.focus}\n placeholder={props.placeholder}\n readonly={props.readonly}\n disabled={props.disabled}\n onKeypress={handleSearch}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onInput={handleInput}\n onCompositionend={handleCompositionend}\n {...extraProps}\n />\n {readerClear()}\n </div>\n {readerAction()}\n </div>\n {isShowResultList.value && (\n <div class={`${searchClass.value}__result-list`}>\n {props.resultList.map((item, index) => listNodes({ item, index }))}\n </div>\n )}\n </div>\n );\n };\n },\n});\n"],"names":["prefix","config","defineComponent","name","props","searchProps","setup","context","renderTNodeJSX","useTNodeJSX","searchClass","usePrefixClass","isShowResultList","ref","isShowAction","inputRef","_useFocus","useFocus","initialValue","focus","focused","_useDefault","useDefault","emit","_useDefault2","_slicedToArray","searchValue","boxClasses","computed","concat","value","shape","_defineProperty","inputClasses","center","limitParams","includes","String","maxlength","Number","maxcharacter","allowInputOverMax","_useLengthLimit","useLengthLimit","getValueByLimitNumber","setInputValue","v","input","sV","inputValueChangeHandle","e","target","nextTick","handleInput","InputEvent","checkInputType","inputType","isComposing","handleClear","_props$onClear","onClear","call","handleFocus","_props$onFocus","onFocus","handleBlur","_props$onBlur","onBlur","handleCompositionend","handleAction","_props$onActionClick","onActionClick","handleSearch","ENTER_REG","test","code","key","_inputRef$value","_props$onSubmit","preventDefault","blur","onSubmit","readerLeftIcon","leftIcon","_createVNode","TSearchIcon","readerClear","clearable","TIconClear","readerAction","action","onSelectResultItem","params","item","highlightSearchValue","parts","split","RegExp","map","part","index","toLowerCase","listNodes","h","TCell","class","onClick","title","extraProps","enterkeyhint","_mergeProps","placeholder","readonly","disabled","resultList"],"mappings":"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"}