[英]Datalist - how to launch function on click option?
我在datalist
中input
搜索的數據列表有問題,為什么當我用鼠標單擊或在我的datalist
列表上的一個選項上輸入時,我的 function getData()
被調用到@click
和@keypress.enter
keypress.enter 沒有啟動?
這是我的代碼:
模板:
<input
list="data"
v-model.trim="searchBy"
@keyup.enter="getAllDatas"
type="text"
placeholder="Find more data..."
/>
<br />
<datalist id="data">
<option v-for="r in repos.items"
:key="r.id"
:value="r.name"
@click="getData(r.id)"
@keypress.enter="getData(r.id)" />
</datalist>
腳本:
methods: {
getAllDatas() {
fetch(`someURL`)
.then(res => res.json())
.then(
res => {
this.data = res
}
)
},
...mapActions(["fetchData"]),
async getData() {
await this.fetchData();
},
我完全不知道這里出了什么問題,有人可以告訴我嗎?
<datalist>
控件沒有自己的事件,您必須使用<input>
。 點擊和鍵盤事件都會觸發輸入的keydown
偵聽器。
<input
list="data"
v-model.trim="searchBy"
@keydown="getData"
@keyup.enter="getAllDatas"
type="text"
placeholder="Find more data..."
/>
這會將事件傳遞給處理程序,因此除非您可以解決這個問題,否則您可能希望改用<select>
或自定義控件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.