UNPKG

vue-tianditu2

Version:
1 lines 3.52 kB
{"version":3,"file":"SearchBox.mjs","sources":["../../../../../packages/service/search/components/SearchBox.ts"],"sourcesContent":["import { computed, defineComponent, h } from \"vue\";\nimport { IconClose } from \"./icons\";\nimport \"../styles/search-box.scss\";\n\nexport const SearchBox = defineComponent({\n props: {\n modelValue: { type: String, default: \"\" },\n /** 显示在输入框的提示 */\n placeholder: { type: String, default: \"输入关键字搜索\" },\n /** 是否显示搜索按钮 */\n searchBtn: { type: Boolean, default: true },\n /** 是否显示导航按钮 */\n routeBtn: { type: Boolean, default: true }\n },\n emits: {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n \"update:modelValue\": (e: string) => true,\n // 点击搜索按钮或回车时触发\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n search: (e: string) => true\n },\n setup(props, { emit, slots }) {\n let isComposition = false;\n\n const keyword = computed({\n get() {\n return props.modelValue;\n },\n set(val: string) {\n emit(\"update:modelValue\", val);\n }\n });\n\n return () =>\n h(\n \"div\",\n {\n class: \"tdt-search-box\"\n },\n [\n h(\"input\", {\n class: \"tdt-search-box__input\",\n type: \"text\",\n placeholder: props.placeholder,\n value: keyword.value,\n onCompositionstart: () => (isComposition = true),\n onCompositionend: () => (isComposition = false),\n onInput: (e: any) => setTimeout(() => !isComposition && (keyword.value = e.target.value)),\n onKeyup: (e: KeyboardEvent) => e.code === \"Enter\" && emit(\"search\", keyword.value)\n }),\n h(\n \"i\",\n {\n class: \"tdt-search-box__close\",\n style: { display: props.modelValue ? \"block\" : \"none\" },\n onClick: () => (keyword.value = \"\")\n },\n [h(IconClose)]\n ),\n slots.default?.()\n ]\n );\n }\n});\n"],"names":["SearchBox","defineComponent","props","emit","slots","isComposition","keyword","computed","val","h","e","IconClose","_a"],"mappings":";;;AAIO,MAAMA,IAAYC,EAAgB;AAAA,EACvC,OAAO;AAAA,IACL,YAAY,EAAE,MAAM,QAAQ,SAAS,GAAG;AAAA;AAAA,IAExC,aAAa,EAAE,MAAM,QAAQ,SAAS,UAAU;AAAA;AAAA,IAEhD,WAAW,EAAE,MAAM,SAAS,SAAS,GAAK;AAAA;AAAA,IAE1C,UAAU,EAAE,MAAM,SAAS,SAAS,GAAK;AAAA,EAC3C;AAAA,EACA,OAAO;AAAA;AAAA,IAEL,qBAAqB,CAAC,MAAc;AAAA;AAAA;AAAA,IAGpC,QAAQ,CAAC,MAAc;AAAA,EACzB;AAAA,EACA,MAAMC,GAAO,EAAE,MAAAC,GAAM,OAAAC,KAAS;AAC5B,QAAIC,IAAgB;AAEpB,UAAMC,IAAUC,EAAS;AAAA,MACvB,MAAM;AACJ,eAAOL,EAAM;AAAA,MACf;AAAA,MACA,IAAIM,GAAa;AACf,QAAAL,EAAK,qBAAqBK,CAAG;AAAA,MAAA;AAAA,IAC/B,CACD;AAED,WAAO;;AACL,aAAAC;AAAA,QACE;AAAA,QACA;AAAA,UACE,OAAO;AAAA,QACT;AAAA,QACA;AAAA,UACEA,EAAE,SAAS;AAAA,YACT,OAAO;AAAA,YACP,MAAM;AAAA,YACN,aAAaP,EAAM;AAAA,YACnB,OAAOI,EAAQ;AAAA,YACf,oBAAoB,MAAOD,IAAgB;AAAA,YAC3C,kBAAkB,MAAOA,IAAgB;AAAA,YACzC,SAAS,CAACK,MAAW,WAAW,MAAM,CAACL,MAAkBC,EAAQ,QAAQI,EAAE,OAAO,MAAM;AAAA,YACxF,SAAS,CAACA,MAAqBA,EAAE,SAAS,WAAWP,EAAK,UAAUG,EAAQ,KAAK;AAAA,UAAA,CAClF;AAAA,UACDG;AAAA,YACE;AAAA,YACA;AAAA,cACE,OAAO;AAAA,cACP,OAAO,EAAE,SAASP,EAAM,aAAa,UAAU,OAAO;AAAA,cACtD,SAAS,MAAOI,EAAQ,QAAQ;AAAA,YAClC;AAAA,YACA,CAACG,EAAEE,CAAS,CAAC;AAAA,UACf;AAAA,WACAC,IAAAR,EAAM,YAAN,gBAAAQ,EAAA,KAAAR;AAAA,QAAgB;AAAA,MAEpB;AAAA;AAAA,EAAA;AAEN,CAAC;"}