let ac = new BMap.Autocomplete({
              "input": document.querySelector('input'),
              "location": map
         })

只贴出创建 Autocomplete 实例的代码,原来用官网的创建代码死活取不到值


var
ac = new BMap.Autocomplete( //建立一个自动完成的对象 {"input" : "suggestId" ,"location" : map });

后来百度了下别人的代码

let ac = new BMap.Autocomplete({
    "input": this.$refs.suggestInput.$el.querySelector('input'),
    "location": map
})
// 在input的属性改为取页面上的input标签

我以为 $el.querySelector('input') 中的input是获取页面id为input的元素,然后改成了我页面上自己的名称,发现没作用

后来我想了下,如果用到querySelector的话,应该可以用document.querySelector()来获取页面上的元素,然后将代码改成

let.ac = new BMap.Autocomplete({
    "input": document.querySelector('input'),
    "location": map
})

发现凑效了,输入框可以弹出自动补全的信息。然后再改成原来别人代码里写的 $el.querySelector('input')发现也可以了,原来一直是我理解错了querySelector的用法,闹了一场乌龙

posted on 2022-05-03 11:05  努力努力再努力xi  阅读(1103)  评论(0编辑  收藏  举报