vue.js - 如何在Vue中以动态形式向特定输入添加更改事件?
问题描述
我想以动态形式将更改事件添加到两个输入。目前,每个输入都会触发更改事件。有没有办法指定输入“共享”和“最近”将触发更改事件,但不会触发其他事件?
<v-input
v-for="item in state.items"
:key="item.id"
@change='triggerChange'
>
</v-input>
state: () => ({
items: [
{ text: 'My Files', id: '1'},
{ text: 'Shared', id: '2' },
{ text: 'Starred', id: '3' },
{ text: 'Recent', id: '4' },
{ text: 'Offline', id: '5' },
{ text: 'Uploads', id: '6' },
{ text: 'Backups', id: '7' },
],
})
const triggerChange = () => {
<something happens>
}
解决方案
为了使模板中的逻辑最小化,我只需在事件处理程序中检查这个条件:
<v-input
v-for="item in state.items"
:key="item.id"
@change='triggerChange(item)'
>
</v-input>
// ...
const triggerChange = (item) => {
if(!(item.id == 2 || item.id == 4)) { return}
}
推荐阅读
- spring-webflux - NioEndpoint - 连接计数不正确,同一个套接字多次调用 socket.close
- python - 在熊猫中获得超过阈值的第一个记录的最快方法是什么?
- ios - 为 iOS 生成项目文件
- tfs - TFS VS 2017 中的报告
- css - 根据背景图像容器切断图像顶部
- javascript - 对象的属性根据调用方式返回不同的值
- dji-sdk - 通过 DJI SDK 等效的睡眠模式或低功耗模式?
- python - 如何手动处理上传的文件数据?
- git - 对于 github 和 gitlab 的所有服务,Git 命令行 (git bash) 是否相同,或者命令有什么不同?
- heroku - scrapyRT 可以使用 gunicorn 在 Heroku 上并行运行吗?