vue-admin-core
Version:
A Component Library for Vue 3
1 lines • 2.35 kB
Source Map (JSON)
{"version":3,"file":"cache-options.mjs","sources":["../../../../../../package/components/table-select/src/cache-options.ts"],"sourcesContent":["import { defineComponent, inject, watch } from \"vue\";\nimport { selectKey } from \"element-plus\";\nimport type { SelectContext } from \"element-plus\";\nimport type { PropType } from \"vue\";\n\n// same as el-option instance,\n// these are required for `cachedOptions`\nexport type CacheOption = {\n value: string | number | boolean | object;\n currentLabel: string | number;\n isDisabled: boolean;\n};\n\nexport default defineComponent({\n props: {\n data: {\n type: Array as PropType<CacheOption[]>,\n default: () => []\n }\n },\n setup(props) {\n const select = inject(selectKey) as NonNullable<SelectContext>;\n\n watch(\n () => props.data,\n () => {\n props.data.forEach((item) => {\n if (!select.cachedOptions.has(item.value)) {\n select.cachedOptions.set(item.value, item);\n }\n });\n\n // fork from packages/select/src/useSelect.ts#330\n const inputs = select.selectWrapper?.querySelectorAll(\"input\") || [];\n if (!Array.from(inputs).includes(document.activeElement as HTMLInputElement)) {\n select.setSelected();\n }\n },\n { flush: \"post\", immediate: true }\n );\n\n return () => undefined;\n }\n});\n"],"names":[],"mappings":";;;AAaA,mBAAe,eAAgB,CAAA;AAAA,EAC7B,KAAO,EAAA;AAAA,IACL,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,KAAA;AAAA,MACN,OAAA,EAAS,MAAM,EAAC;AAAA,KAClB;AAAA,GACF;AAAA,EACA,MAAM,KAAO,EAAA;AACX,IAAM,MAAA,MAAA,GAAS,OAAO,SAAS,CAAA,CAAA;AAE/B,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,MAAM;AAzBZ,QAAA,IAAA,EAAA,CAAA;AA0BQ,QAAM,KAAA,CAAA,IAAA,CAAK,OAAQ,CAAA,CAAC,IAAS,KAAA;AAC3B,UAAA,IAAI,CAAC,MAAO,CAAA,aAAA,CAAc,GAAI,CAAA,IAAA,CAAK,KAAK,CAAG,EAAA;AACzC,YAAA,MAAA,CAAO,aAAc,CAAA,GAAA,CAAI,IAAK,CAAA,KAAA,EAAO,IAAI,CAAA,CAAA;AAAA,WAC3C;AAAA,SACD,CAAA,CAAA;AAGD,QAAA,MAAM,WAAS,EAAO,GAAA,MAAA,CAAA,aAAA,KAAP,IAAsB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAA,CAAiB,aAAY,EAAC,CAAA;AACnE,QAAI,IAAA,CAAC,MAAM,IAAK,CAAA,MAAM,EAAE,QAAS,CAAA,QAAA,CAAS,aAAiC,CAAG,EAAA;AAC5E,UAAA,MAAA,CAAO,WAAY,EAAA,CAAA;AAAA,SACrB;AAAA,OACF;AAAA,MACA,EAAE,KAAA,EAAO,MAAQ,EAAA,SAAA,EAAW,IAAK,EAAA;AAAA,KACnC,CAAA;AAEA,IAAA,OAAO,MAAM,KAAA,CAAA,CAAA;AAAA,GACf;AACF,CAAC,CAAA;;;;"}