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

Buefy Vue2 中b-select组件input事件不触发、v-model绑定无响应问题

问题排查及修复方案

核心错误点

  • 事件绑定语法错误:使用了:input属性绑定语法,同时直接执行了函数而非传入函数引用,导致仅首次渲染时执行一次,后续选择变更不会触发。正确的事件绑定需用@input,且传参时要包裹为回调函数。
  • 双向绑定语法错误:使用了:model单向绑定属性,并未使用v-model双向绑定指令,因此选择器的值变更无法同步回pendingInvitations数组的role属性,导致绑定值无响应。
  • 列表key不规范:v-for使用index作为key,若后续数组有增删操作会导致组件复用异常,建议替换为数组项的唯一标识inv.id。
  • 小语法问题:invitationRoles中user:"user缺失结尾双引号,需补全避免语法报错。

修正后的模板代码

<div v-for="(inv, index) in pendingInvitations" :key="inv.id" class="columns is-desktop">
    <div class="column is-4">{{inv.email}}</div>
    <div class="column is-4">
        <b-field class="mb-5">
            <b-select v-if="invitationRoles" 
                    @input="() => changeInvitationRole(index)"                                                 
                    v-model="pendingInvitations[index].role" 
                    :placeholder="$t('company.users.invitation.roles-placeholder')">
                <option v-for="(value, key) in invitationRoles"
                        :key="key"
                        :value="value">
                    {{ value }}
                </option>
            </b-select>
        </b-field>
    </div>
</div>

修正后的invitationRoles数据

{
    aaa:"aaa",
    bbb:"bbb",
    ccc:"ccc",
    user:"user"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:15:00