【发布时间】:2021-09-26 07:14:51
【问题描述】:
我的目标是有两个输入字段,我可以在其中输入机场的三字母代码,AJAX 将运行查询以检查数据库中是否存在该机场。如果是,它将在输入字段下返回此机场的名称。
我设法使第一个输入起作用,但是,我有第二个输入,我想在其中搜索第二个机场,但是每当我在第二个字段中编写机场代码时,第一个搜索的结果就会被覆盖。
下面是包含两个输入字段的 Vue 组件。您知道使用相同的airportSearch() 方法获得两个结果的正确方法是什么吗?
<template>
<div class="pairing-search">
<div class="airport-input">
<input type="text" v-model="From" @keyup="airportSearch">
<ul v-if="Airports.length > 0">
<li v-for="airport in Airports" :key="airport.id">{{ airport.name }} ({{ airport.gps_code }})</li>
</ul>
</div>
<div class="airport-input">
<input type="text" v-model="To" @keyup="airportSearch">
</div>
</div>
</template>
<script>
export default {
name: "PairingSearch",
data() {
return {
From: null,
To: null,
Airports: []
};
},
methods: {
airportSearch() {
axios.get('/searchairport', {
params: { keyword: this.From }
})
.then(res => this.Airports = res.data)
.catch(error => {});
},
}
}
</script>
【问题讨论】: