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的用法,闹了一场乌龙