@vuemap/vue-amap
Version:
高德地图vue3版本封装
1 lines • 4.72 kB
Source Map (JSON)
{"version":3,"file":"SearchBox.vue2.mjs","sources":["../../../../../packages/control/SearchBox/SearchBox.vue"],"sourcesContent":["<template>\r\n <div\r\n v-show=\"visible && !inputCustom\"\r\n class=\"el-vue-search-box-container\"\r\n >\r\n <input\r\n v-if=\"!inputCustom\"\r\n :id=\"saveInputId\"\r\n type=\"text\"\r\n :placeholder=\"placeholder as string\"\r\n >\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport {defineOptions, ref} from 'vue';\r\nimport {useRegister} from \"../../../mixins\";\r\nimport {guid} from '../../../utils';\r\nimport {propsTypes} from './props';\r\n\r\ndefineOptions({\r\n name: 'ElAmapSearchBox',\r\n inheritAttrs: false\r\n});\r\nconst props = defineProps(propsTypes);\r\nconst emits = defineEmits(['init']);\r\n\r\nconst saveInputId = ref<string>(guid());\r\nconst saveVisible = ref<boolean>(true);\r\nlet $amapComponent: AMap.Autocomplete;\r\nlet preInput: any;\r\n\r\nconst {$$getInstance} = useRegister<AMap.Autocomplete, AMap.Map>((options, parentComponent) => {\r\n if (options.inputId) {\r\n saveInputId.value = options.inputId;\r\n delete options.inputId;\r\n }\r\n if(options.visible){\r\n saveVisible.value = options.visible;\r\n }\r\n options.input = saveInputId.value;\r\n if (options.outputId) {\r\n options.output = options.outputId;\r\n delete options.outputId;\r\n }\r\n let _inputTimer: any;\r\n return new Promise<AMap.Autocomplete>((resolve) => {\r\n parentComponent.plugin(['AMap.AutoComplete'], () => {\r\n const debounce = props.debounce as number;\r\n preInput = AMap.Autocomplete.prototype.onInPut;\r\n AMap.Autocomplete.prototype.onInPut = function (){\r\n clearTimeout(_inputTimer);\r\n _inputTimer = setTimeout(() => {\r\n this.output && this.autoSearch();\r\n }, debounce);\r\n };\r\n $amapComponent = new AMap.AutoComplete(options);\r\n resolve($amapComponent);\r\n });\r\n });\r\n\r\n}, {\r\n emits,\r\n watchRedirectFn: {\r\n __visible (flag: boolean) {\r\n saveVisible.value = flag;\r\n },\r\n __citylimit (flag: boolean) {\r\n $amapComponent.setCityLimit(flag);\r\n }\r\n },\r\n destroyComponent () {\r\n if(preInput && AMap.Autocomplete){\r\n AMap.Autocomplete.prototype.onInPut = preInput;\r\n }\r\n },\r\n});\r\n\r\ndefineExpose({\r\n $$getInstance\r\n});\r\n</script>\r\n<style lang=\"scss\">\r\n.el-vue-search-box-container {\r\n position: absolute;\r\n left: 16px;\r\n top: 16px;\r\n z-index: 10;\r\n width: 360px;\r\n height: 45px;\r\n background: #fff;\r\n box-shadow: 0 2px 2px rgba(0,0,0,.15);\r\n border-radius: 2px 3px 3px 2px;\r\n\r\n input {\r\n height: 100%;\r\n width: 100%;\r\n line-height: 45px;\r\n letter-spacing: .5px;\r\n font-size: 14px;\r\n text-indent: 10px;\r\n box-sizing: border-box;\r\n border: none;\r\n outline: none;\r\n }\r\n\r\n}\r\n</style>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAuBA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAM,MAAA,WAAA,GAAc,GAAY,CAAA,IAAA,EAAM,CAAA,CAAA;AACtC,IAAM,MAAA,WAAA,GAAc,IAAa,IAAI,CAAA,CAAA;AACrC,IAAI,IAAA,cAAA,CAAA;AACJ,IAAI,IAAA,QAAA,CAAA;AAEJ,IAAA,MAAM,EAAC,aAAa,EAAA,GAAI,WAAyC,CAAA,CAAC,SAAS,eAAoB,KAAA;AAC7F,MAAA,IAAI,QAAQ,OAAS,EAAA;AACnB,QAAA,WAAA,CAAY,QAAQ,OAAQ,CAAA,OAAA,CAAA;AAC5B,QAAA,OAAO,OAAQ,CAAA,OAAA,CAAA;AAAA,OACjB;AACA,MAAA,IAAG,QAAQ,OAAQ,EAAA;AACjB,QAAA,WAAA,CAAY,QAAQ,OAAQ,CAAA,OAAA,CAAA;AAAA,OAC9B;AACA,MAAA,OAAA,CAAQ,QAAQ,WAAY,CAAA,KAAA,CAAA;AAC5B,MAAA,IAAI,QAAQ,QAAU,EAAA;AACpB,QAAA,OAAA,CAAQ,SAAS,OAAQ,CAAA,QAAA,CAAA;AACzB,QAAA,OAAO,OAAQ,CAAA,QAAA,CAAA;AAAA,OACjB;AACA,MAAI,IAAA,WAAA,CAAA;AACJ,MAAO,OAAA,IAAI,OAA2B,CAAA,CAAC,OAAY,KAAA;AACjD,QAAA,eAAA,CAAgB,MAAO,CAAA,CAAC,mBAAmB,CAAA,EAAG,MAAM;AAClD,UAAA,MAAM,WAAW,KAAM,CAAA,QAAA,CAAA;AACvB,UAAW,QAAA,GAAA,IAAA,CAAK,aAAa,SAAU,CAAA,OAAA,CAAA;AACvC,UAAK,IAAA,CAAA,YAAA,CAAa,SAAU,CAAA,OAAA,GAAU,WAAW;AAC/C,YAAA,YAAA,CAAa,WAAW,CAAA,CAAA;AACxB,YAAA,WAAA,GAAc,WAAW,MAAM;AAC7B,cAAK,IAAA,CAAA,MAAA,IAAU,KAAK,UAAW,EAAA,CAAA;AAAA,eAC9B,QAAQ,CAAA,CAAA;AAAA,WACb,CAAA;AACA,UAAiB,cAAA,GAAA,IAAI,IAAK,CAAA,YAAA,CAAa,OAAO,CAAA,CAAA;AAC9C,UAAA,OAAA,CAAQ,cAAc,CAAA,CAAA;AAAA,SACvB,CAAA,CAAA;AAAA,OACF,CAAA,CAAA;AAAA,KAEA,EAAA;AAAA,MACD,KAAA;AAAA,MACA,eAAiB,EAAA;AAAA,QACf,UAAW,IAAe,EAAA;AACxB,UAAA,WAAA,CAAY,KAAQ,GAAA,IAAA,CAAA;AAAA,SACtB;AAAA,QACA,YAAa,IAAe,EAAA;AAC1B,UAAA,cAAA,CAAe,aAAa,IAAI,CAAA,CAAA;AAAA,SAClC;AAAA,OACF;AAAA,MACA,gBAAoB,GAAA;AAChB,QAAG,IAAA,QAAA,IAAY,KAAK,YAAa,EAAA;AAC/B,UAAK,IAAA,CAAA,YAAA,CAAa,UAAU,OAAU,GAAA,QAAA,CAAA;AAAA,SACxC;AAAA,OACJ;AAAA,KACD,CAAA,CAAA;AAED,IAAa,QAAA,CAAA;AAAA,MACX,aAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}