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

Q-Select组件@Change与@Input事件无法触发函数问题求助

Q-Select组件@change/input事件无法触发的解决思路

以下是几个排查和解决的方向:

1. 确认响应式变量的声明是否正确

Vue 3中,v-model绑定的变量必须是响应式的(用ref或reactive声明),否则组件值变更时无法触发相关事件。检查你的transmision变量是否正确声明:

import { ref } from 'vue';
const transmision = ref(''); // 必须通过ref创建响应式变量

2. 替换为@update:model-value事件

Quasar的Q-Select组件在Vue 3环境下,推荐使用@update:model-value来监听值变更,这是Vue标准的v-model更新事件,比@change或@input更可靠:

<q-select
  rounded
  standout
  bg-color="grey-3"
  v-model="transmision"
  placeholder="Seleccione transmisión"
  class="input inputPosition q-mb-md"
  :options="opcionesTransmision"
  @update:model-value="emittedTransmision"
/>

3. 优化事件处理函数的参数使用

事件触发时会直接传递选中的值,建议直接使用这个参数,避免依赖变量本身的取值,减少潜在问题:

function emittedTransmision(selectedValue) {
  emit("emit:transmision", selectedValue);
  console.log(selectedValue);
}

4. 检查模板和函数的拼写一致性

确认emittedTransmision函数名在模板和script中拼写完全一致,没有大小写或字符错误;同时检查opcionesTransmision是否正确传递给组件的:options属性。

5. 排查组件的冲突或版本问题

如果以上步骤都无效,检查是否存在组件样式/逻辑冲突,或者尝试升级Quasar到最新稳定版,部分旧版本可能存在事件绑定的兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 04:50:12