⚠️ 问题来源:

当设置v-model的值为一个条件值或计算值时,比如

v-model="test.result == 1 ? 'sucess' : 'error'"

或者

v-model="test.a + '-' + test.b"

就会有题目相关的提示


📖  中文翻译:
        “v-model”指令要求属性值必须与LHS一样有效


❓  原因:
        v-model将始终把Vue实例的data视为数据真实的来源,你应该在组件的JavaScript里的data中声明初始值,这意味着你不能要求v-model一次观察多个变量。


⭐️  建议:

        v-model的值必须是一个数据变量,而不是一个条件值或计算值。如果你需要用条件值或计算值,那么建议不要使用v-model,而是手动传递props并侦听change事件。


🦀️  解决方法:

<template>
    <el-select v-model="test.result"
               @change="onChange">
    </el-select>
</template>

<script>
methods: {
  onChange (value) {
  //在这里你可以log出value来查看它的值是什么
  //console.log(value)
    if (value == 1) {
      this.test.result = 'sucess'
    }else{
      this.test.result = 'error'
    }
  }
}
</script>

🌲  参考回答(需要梯子): 

​​​​​​'v-model' directives require the attribute value which is valid as LHS - vue-core - Vue Forum


🦕   写给自己:
In the future, maybe you can check it in the source code of vue.
Looking forward to your performance.
That must will be awsome!  🎉🎉


        

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐