【问题标题】:Why my select value has changed but still displayed the old value?为什么我的选择值已更改但仍显示旧值?
【发布时间】:2020-07-30 18:10:46
【问题描述】:

这几天在用Element-UI学习Vue,今天早遇到了一个问题。
我看到我的选择值已经在控制台上更改了,但在页面上,它仍然显示旧值。为什么? 这是我的选择标签的代码:

<el-select v-model="ruleForm.emp" filterable placeholder="please select" @change="empChange">
  <el-option v-for="item in emps" :key="item.id" :label="item.name" :value="item">
  </el-option>
</el-select>

这是 ruleForm 的代码:

ruleForm: {
     emp: {
         id: 1,
         name: '',
         address: ''
     },
     startDate: '',
     position: '',
     positionDetails: ''
}

这是 empChange 方法:

empChange(emp){
    this.ruleForm.emp = emp;
}

如果您需要更多信息来帮助您解决问题,请告诉我,我会立即更新。 任何帮助将不胜感激!

更新:Vue 和 Element-UI 的版本

"element-ui": "^2.4.5",
"vue": "^2.5.2"

更新:数据中的一个 emp emps

emp: {
id: 1723
name: "test"
address: "address_test"
}

【问题讨论】:

    标签: vue.js frontend element-ui


    【解决方案1】:

    在empChange方法中,改变:

    empChange(emp){
       this.$set(this.ruleForm, 'emp', emp);
    }
    

    reactivity

    【讨论】:

    • 我像这样更改了 empChange 方法,但仍然显示旧值。
    • 您将 ruleForm 存储在哪里?它似乎还可以
    • emps 上有哪些数据?也许这些值不匹配
    • ruleForm 存储在 vue 文件的数据区域中。并且问题中更新了Emps数据之一,请大家看看~
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-16
    • 2020-11-17
    • 1970-01-01
    相关资源
    最近更新 更多