【发布时间】:2021-08-31 09:15:46
【问题描述】:
我在 Quasar 应用中有一个简单的搜索输入,它应该监听输入事件。但事实并非如此。代码如下:
<template>
<div id="searchWrapper">
<div class="row justify-center flex-direction q-px-lg-md">
<h1 class="col-sm-6">StarWars search</h1>
</div>
<div id="search" class="row justify-center flex-direction q-px-lg-md">
<div class="col-sm-6">
<q-input outlined v-model="search" v-on:input="searchPeople" name="search" label="Name" />
</div>
</div>
<div class="row justify-center flex-direction ">
<q-list v-if="searchStatus == 'success'" bordered separator class="col-sm-6">
<q-item v-for="item in searchResult" :key="item.id" clickable v-ripple>
<q-item-section>{{item.name}}</q-item-section>
</q-item>
</q-list>
</div>
</div>
</template>
<script>
import { defineComponent } from 'vue';
import { api } from 'boot/axios';
export default defineComponent({
name: 'PageIndex',
data() {
return {
search: "",
searchResult: [
{
id: 1,
name: 'Luke',
},
{
id: 2,
name: 'Lea',
}
],
loading: false,
}
},
...
methods: {
searchPeople() {
console.log('teeeeeeeeeeeeeeeeest');
this.loading = true;
api.get('https://swapi.py4e.com/api/people?search' + this.search)
.then( result => {
console.log(result);
})
.catch( error => {
})
.then( () => {
this.loading = false
});
},
},
})
</script>
我没有看到 console.log('teeeeeeeeeeeeeeest') 也没有错误。没有。原生 Vue @input 工作正常。但奎萨没有。这段代码有什么问题?
【问题讨论】:
-
有什么理由在同一个输入上使用 v-model 和 @input?你可以通过使用 @input="SearchPeople" :value = "search"
标签: events vuejs2 quasar-framework quasar