var ac = new BMapGL.Autocomplete({ input: "suggestId", location: this.map, }); //建立一个自动完成的对象 ac.addEventListener("onconfirm", (e) => { let _value = e.item.value; let myValue = _value.province + _value.city + _value.district + _value.street + _value.business; document.querySelector("#searchResultPanel").innerHTML = "onconfirm<br />index = " + e.item.index + "<br />myValue = " + myValue; let that = this; function myFun() { var pp = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果 that.map.setCenter(pp); } var local = new BMapGL.LocalSearch(this.map, { onSearchComplete: myFun, }); local.search(myValue); });
时间: 2024-01-26 14:02:24 浏览: 25
根据你提供的代码,可以看到你使用了百度地图的输入提示功能,但是没有明确说明出现了什么问题。不过从代码中可以看到一些可以优化的地方:
1. `ac.addEventListener("onconfirm", (e) => { ... });`中使用了箭头函数,虽然不影响功能,但是建议使用普通函数,以便更好地兼容老版本的浏览器。
2. `myValue`的值通过拼接字符串得到,这种方式容易出现问题,建议使用数组的 `join()` 方法来拼接字符串。
3. `let that = this;`这一行代码可以使用箭头函数来解决,例如:`let myFun = () => { ... }`,这样就不需要使用 `that` 这个变量来保存 `this` 的值了。
至于你的具体问题,可以提供一下报错信息或者现象,以便更好地帮助你解决问题。
相关问题
<el-input v-model="formLook.name" disabled="true" autocomplete="off" /> 解决
这段代码中的 `disabled="true"` 属性将输入框设置为不可编辑状态,因此无法在输入框中输入内容。如果您想要输入内容,请将 `disabled` 属性删除或设置为 `false`。另外,`autocomplete="off"` 属性可以防止浏览器自动填充输入框,如果您需要浏览器自动填充,请将属性值改为 `on`。
根据以下代码: <el-form-item label="菜品信息"> <!-- <el-input v-model="form.materielCode" autocomplete="off" :disabled="true"></el-input>--> <el-select v-model="form.dishCode" clearable placeholder="请选择菜品信息"> <el-option v-for="item in dishData" :key="item.id" :label="`${item.id}--${item.dishName}-${item.dishPrice}`" :value="item.id"> <!-- :label="`${item.id}--${item.dishName}--${item.dishPrice}`"--> </el-option> </el-select> </el-form-item> <el-form-item label="销售数量"> <el-input v-model="form.orderlistAmount" style="width: 210px" autocomplete="off"></el-input> </el-form-item> 销售数量*dishPrice怎么写
可以在代码中添加一个计算属性,来计算销售总金额。具体代码如下:
```
<template>
<div>
<el-form ref="form" :model="form" label-width="120px">
<el-form-item label="菜品信息">
<el-select v-model="form.dishCode" clearable placeholder="请选择菜品信息">
<el-option
v-for="item in dishData"
:key="item.id"
:label="`${item.id}--${item.dishName}-${item.dishPrice}`"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="销售数量">
<el-input v-model="form.orderlistAmount" style="width: 210px" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="销售总金额">
<span>{{ totalAmount }}</span>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
data() {
return {
form: {
dishCode: '',
orderlistAmount: ''
},
dishData: [
{ id: 1, dishName: '鱼香肉丝', dishPrice: 20 },
{ id: 2, dishName: '宫保鸡丁', dishPrice: 22 },
{ id: 3, dishName: '回锅肉', dishPrice: 18 }
]
};
},
computed: {
totalAmount() {
const dish = this.dishData.find((item) => item.id === this.form.dishCode);
return dish ? dish.dishPrice * this.form.orderlistAmount : '';
}
}
};
</script>
```
在上述代码中,通过计算属性 `totalAmount` 计算销售总金额,具体计算方式为菜品单价乘以销售数量。