【发布时间】:2019-01-31 11:41:37
【问题描述】:
我有一个包含可点击行的data table。一切正常,我遇到了一个问题。如果我想突出显示行上的文本,则会触发 click event。我发现唯一有用的是.exact 修饰符。
如果突出显示文本,希望它会忽略单击处理程序。但click event 仍然被触发。
我的问题:有没有一种方法可以在不触发点击事件的情况下突出显示项目上的文本。
预期结果:使用@click.exact 突出显示文本时不会触发点击事件
实际结果:高亮文本时触发点击事件,事件使用@click.exact
旁注:它设法突出显示文本,但是一旦您松开鼠标按钮,它就会触发点击事件。
<v-data-table
v-show="model.id && !editMode"
:headers="bagHeaders"
:items="bags"
class="elevation-1"
item-key="id"
:loading="bagsStatus.loading"
:pagination.sync="pagination"
>
<template slot="items" slot-scope="props">
<tr @click.exact="onBagClick(props.item.id)">
<td class="text-xs-left" v-for="header in bagHeaders" :key="header.id">{{ formatColumn(header, props.item) }}</td>
</tr>
</template>
</v-data-table>
编辑:
其他尝试:@click.prevent 也不起作用
目前最好的解决方法:https://codepen.io/anon/pen/YBNLLy
【问题讨论】:
-
@click.prevent呢? -
@jom 也不起作用。
-
这个
onBagClick()方法有什么作用? -
@jom 它只是导航到其他组件。但它的作用微不足道。根本不应该调用它。
标签: vue.js vuejs2 vuetify.js