Vuexy模板中v-select的v-on:change失效,v-on:input正常?
Vuexy中v-select绑定change事件无效的原因
这个问题的核心在于你使用的v-select组件(基于vue-select封装)并未实现原生的change事件触发逻辑,它是通过自定义的input事件来通知选中值的变化:
组件设计差异
- 原生
<select>的change事件是在选项切换且元素失去焦点时触发,但vue-select组件内部没有遵循这个原生事件的触发机制,而是选择用input事件实时传递选中值的变化。 - 当你配置
:reduce="(source) => source.id"后,组件会自动将选中的源对象转换为对应的ID值,并通过input事件把这个ID传递给绑定的loadSelectedSourceLeads方法,这就是为什么input事件能正常生效。
- 原生
正确的用法建议
- 如果你需要监听选中值的变化,继续使用
v-on:input(或简写@input)是组件官方推荐的方式,能确保实时获取到转换后的ID值。 - 若你需要在组件失去焦点时执行操作,可以绑定
@blur事件,但这和值变化的触发时机不同,需要根据业务需求选择。
- 如果你需要监听选中值的变化,继续使用
内容的提问来源于stack exchange,提问作者Nafis Nahiyan
相关产品推荐
相关产品推荐

