tdesign-mobile-vue
Version:
tdesign-mobile-vue
1 lines • 31.8 kB
Source Map (JSON)
{"version":3,"file":"cascader.mjs","sources":["../../src/cascader/cascader.tsx"],"sourcesContent":["import { CloseIcon, ChevronRightIcon } from 'tdesign-icons-vue-next';\nimport { defineComponent, toRefs, computed, ref, toRaw, reactive, watch, onMounted, Transition } from 'vue';\nimport { get as lodashGet } from 'lodash-es';\nimport TPopup from '../popup';\nimport { Tabs } from '../tabs';\nimport { RadioValue, RadioGroup as TRadioGroup } from '../radio';\nimport config from '../config';\nimport props from './props';\nimport { TreeOptionData } from '../common';\nimport { useConfig } from '../config-provider/useConfig';\nimport useVModel from '../hooks/useVModel';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport { usePrefixClass } from '../hooks/useClass';\nimport { CascaderTriggerSource } from './type';\nimport { TreeNodeModel } from '../_common/js/tree/tree-node-model';\nimport { TreeNode } from '../_common/js/tree/tree-node';\n\nconst { prefix } = config;\nconst name = `${prefix}-cascader`;\n\ninterface ChildrenInfoType {\n value: string | number | boolean;\n level: number;\n}\n\nconst childrenInfo: ChildrenInfoType = {\n value: '',\n level: 0,\n};\n\ninterface KeysType {\n value?: string;\n label?: string;\n children?: string;\n disabled?: string;\n}\n\nexport default defineComponent({\n name,\n props,\n emits: ['update:visible', 'update:value', 'update:modelValue'],\n setup(props, context) {\n const renderTNodeJSX = useTNodeJSX();\n const cascaderClass = usePrefixClass('cascader');\n const { globalConfig } = useConfig('cascader');\n\n const { visible, value, modelValue } = toRefs(props);\n const [cascaderValue, setCascaderValue] = useVModel(value, modelValue, props.defaultValue, props.onChange);\n\n const open = ref(visible.value || false);\n const placeholder = computed(() => props.placeholder || globalConfig.value.placeholder);\n\n const stepIndex = ref(0);\n const selectedIndexes = reactive<number[]>([]);\n const selectedValue = reactive<Array<string | number>>([]);\n const items = computed<Array<Array<TreeOptionData>>>(() => [props.options ?? []]);\n const steps = reactive([placeholder.value]);\n\n const initWithValue = () => {\n if (cascaderValue.value != null) {\n steps.length = 0;\n selectedValue.length = 0;\n selectedIndexes.splice(0, selectedIndexes.length);\n\n const path = getIndexesByValue(props.options, cascaderValue.value);\n path?.forEach((e: number) => {\n // @ts-ignore\n selectedIndexes.push(e);\n });\n watchSelectedIndexes();\n }\n };\n\n const watchSelectedIndexes = () => {\n if (props.options && props.options.length > 0) {\n items.value.splice(0, items.value.length, ...[props.options]);\n\n const keys = props.keys as KeysType;\n for (let i = 0, size = selectedIndexes.length; i < size; i += 1) {\n const index = selectedIndexes[i];\n const next = items.value[i]?.[index];\n selectedValue.push(lodashGet(next, keys?.value ?? 'value'));\n steps.push(lodashGet(next, keys?.label ?? 'label'));\n const children = lodashGet(next, keys?.children ?? 'children');\n if (Array.isArray(children) && children.length > 0) {\n items.value.push(children);\n }\n }\n }\n\n if (steps.length < items.value.length) {\n steps.push(placeholder.value);\n }\n stepIndex.value = items.value.length - 1;\n };\n\n const getIndexesByValue = (options: any, value: any) => {\n const keys = props.keys as KeysType;\n for (let i = 0; i < options.length; i++) {\n if (lodashGet(options[i], keys?.value ?? 'value') === value) {\n return [i];\n }\n const children = lodashGet(options[i], keys?.children ?? 'children');\n if (Array.isArray(children) && children.length > 0) {\n const res: any = getIndexesByValue(children, value);\n if (res) {\n return [i, ...res];\n }\n }\n }\n };\n\n const chooseSelect = (value: RadioValue, level: number, index: number, item: any) => {\n const keys = props.keys as KeysType;\n selectedIndexes[level] = index;\n selectedIndexes.length = level + 1;\n selectedValue[level] = typeof value === 'number' ? value : String(value);\n selectedValue.length = level + 1;\n steps[level] = lodashGet(item, keys?.label ?? 'label');\n\n const children = lodashGet(item, keys?.children ?? 'children');\n if (children === true && props.load) {\n // 异步加载子节点\n const nodeModel = {\n data: item,\n value: lodashGet(item, keys?.value ?? 'value'),\n label: lodashGet(item, keys?.label ?? 'label'),\n } as any;\n props\n .load(nodeModel)\n .then((loadedChildren) => {\n // 将加载的数据与现有 options 结合\n items.value[level + 1] = loadedChildren;\n items.value.length = level + 2;\n stepIndex.value += 1;\n steps[level + 1] = placeholder.value;\n steps.length = level + 2;\n })\n .catch((error) => {\n console.error('Load children failed:', error);\n });\n } else if (Array.isArray(children) && children.length > 0) {\n items.value[level + 1] = children;\n items.value.length = level + 2;\n stepIndex.value += 1;\n steps[level + 1] = placeholder.value;\n steps.length = level + 2;\n } else {\n items.value.length = level + 1;\n steps.length = level + 1;\n stepIndex.value = level;\n\n setCascaderValue(\n lodashGet(item, keys?.value ?? 'value'),\n items.value.map((item, index) => toRaw(item?.[selectedIndexes[index]])),\n );\n close('finish');\n }\n };\n\n const cancelSelect = (value: RadioValue, level: number, index: number, item: any) => {\n const keys = props.keys as KeysType;\n selectedIndexes[level] = index;\n selectedIndexes.length = level;\n selectedValue.length = level;\n steps[level] = String(placeholder.value);\n steps[level + 1] = placeholder.value;\n steps.length = level + 1;\n\n const children = lodashGet(item, keys?.children ?? 'children');\n if (Array.isArray(children) && children.length > 0) {\n items.value[level + 1] = children;\n }\n };\n\n const handleSelect = (value: RadioValue, level: number, fromHandler = true) => {\n const keys = props.keys as KeysType;\n const index = items.value[level].findIndex((item: any) => lodashGet(item, keys?.value ?? 'value') === value);\n const item = items.value[level][index];\n if (lodashGet(item, keys?.disabled ?? 'disabled')) {\n return;\n }\n\n if (fromHandler) {\n props.onPick?.({\n value: lodashGet(item, keys?.value ?? 'value'),\n label: lodashGet(item, keys?.label ?? 'label'),\n level,\n index,\n });\n }\n\n if (props.checkStrictly && selectedValue.includes(String(value)) && fromHandler) {\n cancelSelect(value, level, index, item);\n } else {\n chooseSelect(value, level, index, item);\n }\n };\n\n const close = (trigger: CascaderTriggerSource) => {\n props.onClose?.(trigger);\n };\n\n const handleVisibleChange = (visible: boolean, e: any) => {\n if (e?.trigger !== 'overlay') return;\n close('overlay');\n };\n\n const updateCascaderValue = () => {\n setCascaderValue(\n selectedValue[selectedValue.length - 1],\n items.value\n .filter((item, index) => !!item && selectedIndexes.length > index)\n .map((item, index) => toRaw(item?.[selectedIndexes[index]])),\n );\n };\n\n const onClose = () => {\n open.value = false;\n close('close-btn');\n };\n\n const onCloseBtn = () => {\n if (props.checkStrictly) {\n updateCascaderValue();\n onClose();\n } else {\n onClose();\n }\n };\n\n const onStepClick = (index: number) => {\n stepIndex.value = index;\n };\n\n const onTabChange = (value: number | string) => {\n stepIndex.value = Number(value);\n };\n\n watch(open, () => {\n context.emit('update:visible', open.value);\n });\n\n watch(visible, () => {\n open.value = visible.value;\n if (visible.value) {\n initWithValue();\n }\n });\n\n watch(\n () => props.options,\n () => {\n initWithValue();\n\n if (open.value && cascaderValue.value) {\n handleSelect(childrenInfo.value, childrenInfo.level, false);\n }\n },\n {\n deep: true,\n },\n );\n\n watch(placeholder, (newValue, oldValue) => {\n const index = steps.indexOf(oldValue);\n if (index !== -1) {\n steps[index] = newValue;\n }\n });\n\n onMounted(() => {\n initWithValue();\n });\n\n return () => {\n const title = renderTNodeJSX('title') || globalConfig.value.title;\n const closeBtn = renderTNodeJSX('closeBtn', { defaultNode: <CloseIcon size=\"24px\" /> });\n const PlaceholderNode = renderTNodeJSX('placeholder');\n\n const readerStep = () => {\n return (\n <div class={`${cascaderClass.value}__steps`}>\n {steps.map((step, index) => {\n return (\n <div\n class={`${cascaderClass.value}__step`}\n onClick={() => {\n onStepClick(index);\n }}\n >\n <div\n class={[\n `${cascaderClass.value}__step-dot`,\n {\n [`${cascaderClass.value}__step-dot--active`]: step !== placeholder.value,\n [`${cascaderClass.value}__step-dot--last`]: index === steps.length - 1,\n },\n ]}\n />\n <div\n class={[\n `${cascaderClass.value}__step-label`,\n {\n [`${cascaderClass.value}__step-label--active`]: index === stepIndex.value,\n },\n ]}\n >\n {PlaceholderNode && !(typeof PlaceholderNode === 'string') && step === placeholder.value\n ? PlaceholderNode\n : step}\n </div>\n <ChevronRightIcon class={`${cascaderClass.value}__step-arrow`} size=\"22\" />\n </div>\n );\n })}\n </div>\n );\n };\n\n const renderTabStep = () => {\n const _steps = steps.map((item, index) => ({ value: index, label: item }));\n return <Tabs value={stepIndex.value} spaceEvenly={false} list={_steps} onChange={onTabChange} />;\n };\n\n const readerSteps = () => {\n if (steps.length === 0) {\n return null;\n }\n if (props.theme === 'step') {\n return readerStep();\n }\n\n if (open.value && props.theme === 'tab') {\n return renderTabStep();\n }\n };\n return (\n <TPopup\n overlayProps={props.overlayProps}\n v-model={open.value}\n placement=\"bottom\"\n onVisibleChange={handleVisibleChange}\n >\n <div class={`${cascaderClass.value}`}>\n <div class={`${cascaderClass.value}__title`}>{title}</div>\n <div class={`${cascaderClass.value}__close-btn`} onClick={onCloseBtn}>\n {closeBtn}\n </div>\n {renderTNodeJSX('header')}\n <div class={`${cascaderClass.value}__content`}>\n {readerSteps()}\n {renderTNodeJSX('middleContent')}\n {props.subTitles && props.subTitles[stepIndex.value] && (\n <div class={`${cascaderClass.value}__options-title`}>{props.subTitles[stepIndex.value]}</div>\n )}\n <div\n class={`${cascaderClass.value}__options-container`}\n style={`width: ${items.value.length + 1}00vw; transform: translateX(-${stepIndex.value}00vw);`}\n >\n {items.value.map((options, index) => {\n return (\n <div class={`${cascaderClass.value}__options`}>\n <Transition appear name=\"slide\">\n <div class={`${cascaderClass.value}-radio-group-${index}`}>\n <TRadioGroup\n value={selectedValue[index] || ''}\n keys={props.keys}\n options={options}\n placement=\"right\"\n icon=\"line\"\n borderless\n onChange={(\n value: RadioValue,\n context: {\n e: Event;\n },\n ) => {\n handleSelect(value, index);\n }}\n />\n </div>\n </Transition>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </TPopup>\n );\n };\n },\n});\n"],"names":["prefix","config","name","childrenInfo","value","level","defineComponent","props","emits","setup","context","renderTNodeJSX","useTNodeJSX","cascaderClass","usePrefixClass","_useConfig","useConfig","globalConfig","_toRefs","toRefs","visible","modelValue","_useVModel","useVModel","defaultValue","onChange","_useVModel2","_slicedToArray","cascaderValue","setCascaderValue","open","ref","placeholder","computed","stepIndex","selectedIndexes","reactive","selectedValue","items","_props2$options","options","steps","initWithValue","length","splice","path","getIndexesByValue","forEach","e","push","watchSelectedIndexes","_items$value","apply","keys","i","size","_items$value$i","_keys$value","_keys$label","_keys$children","index","next","lodashGet","label","children","Array","isArray","_keys$value2","_keys$children2","res","concat","_toConsumableArray","chooseSelect","item","_keys$label2","_keys$children3","String","load","_keys$value3","_keys$label3","nodeModel","data","then","loadedChildren","catch","error","console","_keys$value4","map","toRaw","close","cancelSelect","_keys$children4","handleSelect","_keys$disabled","fromHandler","findIndex","_keys$value5","disabled","_props2$onPick","_keys$value6","_keys$label4","onPick","checkStrictly","includes","trigger","_props2$onClose","onClose","handleVisibleChange","updateCascaderValue","filter","onCloseBtn","onStepClick","onTabChange","Number","watch","emit","deep","newValue","oldValue","indexOf","onMounted","title","closeBtn","defaultNode","_createVNode","CloseIcon","PlaceholderNode","readerStep","step","onClick","_defineProperty","ChevronRightIcon","renderTabStep","_steps","Tabs","readerSteps","theme","TPopup","overlayProps","onUpdateModelValue","$event","default","_default","subTitles","TRadioGroup"],"mappings":"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"}