vue.js - 使用修饰符 Vuetify v-data-table 行单击事件
问题描述
我想要我的 vuetify 数据表上有两个单独的点击事件。
一个带有普通左键单击,一个带有附加修饰符(SHIFT / CTRL 和左键单击)。
这甚至可能吗?
这是一个带有不工作示例的代码笔:
https ://codepen.io/borsTiHD/pen/YzpVrNJ
@click="clickEvent"
并且@click:row.ctrl="rowCtrlClicked"
不工作。
解决方案
我用组件中的全局键事件监听器解决了我的问题。我在这里找到了一个例子:
https ://codepen.io/ryancwynar/pen/jOWoXZw
我的代码:
我设置this.registerKeyHandler(true/false)
并created()
beforeDestroy()
registerKeyHandler(register) {
if (register) {
window.addEventListener('keydown', this.keyHandler)
window.addEventListener('keyup', this.keyHandler)
} else {
window.removeEventListener('keydown', this.keyHandler)
window.removeEventListener('keyup', this.keyHandler)
}
},
keyHandler(event) {
if (!event.key === 'Control' && !event.key === 'Shift') return false
if (event.key === 'Control' && event.type === 'keydown') {
this.ctrlKeyOn = true
} else if (event.key === 'Control' && event.type === 'keyup') {
this.ctrlKeyOn = false
} else if (event.key === 'Shift' && event.type === 'keydown') {
this.shiftKeyOn = true
} else if (event.key === 'Shift' && event.type === 'keyup') {
this.shiftKeyOn = false
}
},
推荐阅读
- python - 无法创建临时目录“C:\CONDA_~1\2\conda-
\" - reactjs - 如何通过反应路由器重定向登录和注册页面
- lua - 如何添加“状态”?不和谐
- instantsearch.js - 需要在 meilisearch 即时搜索的过滤器中传递自定义文本框值
- c# - 如何在 asp.net core mvc C# 中将 List 对象转换为 Viewmodel 对象?
- jsp - 有没有在 JSP 模板中转换百里香模板的解决方案?
- java - 如何同时实现n个目标的搜索算法
- python - Python Pandas复制所有行
- scikit-learn - 比较两个数据集(A,B)并从 B 返回相似的最佳方法
- python - 为什么 Docker 不接受代码更改,尽管“修剪所有”、“不构建缓存”然后“强制重新创建”?