vue中使用v-model绑定值更改时, 需要再次点击才能显示在input中

  1. 当我的组件emit后更改_value的值, 此时已经修改成功了, 可是并没有显示在input中,需要我在再次点击input才能看到刚才修改的值

// 页面中
<input type="text" @click.stop="open($event)" v-model="_value">
<vue-component :value="_value" @change="change"></vue-component>
data() {
    return {
        _value: ''
    }
},
methods: {
    change (val) {
        this._value = val;
    }
}

// vueComponent 组件中
this.$emit('change', val);
阅读 13.9k
3 个回答

使用this.$emit('input', val)

data: {
    return {
        _value: ''
    }
}

应该是

data() {
    return {
        _value: ''
    }
}

用vue的watch来监听值得变化而不是change

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题