You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vuetify DataTable点击表头输入框触发排序的原因及解决方法

问题原因

Vuetify DataTable 的表头默认绑定了排序触发的点击事件,点击输入框时,点击事件会向上冒泡到表头容器,因此会同步触发排序逻辑。外层添加普通 div 不会默认阻止事件冒泡,所以无法解决该问题。

解决方案

给插槽内的 v-text-field 添加 @click.stop 修饰符,阻断点击事件向上冒泡即可,修改后的代码如下:

<template v-for="(header, i)  in columns" v-slot:[`header.${header.value}`]="{  }"> 
  {{ header.text }}
  <v-text-field :key="i"
    v-model="multiSearch[header.value]"
    class="pa"
    type="text"
    :placeholder="header.value"
    prepend-inner-icon="mdi-magnify"
    @click.stop
  ></v-text-field>
</template>

@click.stop 是 Vue 内置的事件修饰符,作用就是立即停止当前点击事件的冒泡传播,不会影响输入框本身的正常输入功能。


内容的提问来源于stack exchange,提问作者Boomerang20thCentury

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 09:36:06