zoukankan      html  css  js  c++  java
  • VUE中通过改变key去更新局部dom

    在使用Elemen-UI中el-select时

    代码如下↓

    <!-- selected -->
    <el-select
        v-if="item.columnType === 'selected'"
        :key="updates"
        v-model="scope.row[Object.keys(item)[0]]"
        placeholder="请选择">
        <el-option
            v-for="v in selectData[Object.keys(item)[0]]"
            :key="v.value"
            :label="v.name"
            :value="v.value">
        </el-option>
    </el-select>
    

      因为项目需求这是嵌套在表格里的动态渲染的组件,option也是动态的,当<el-option>中的for循环selectData[Object.keys(item)[0]]赋上值之后,点击下拉并不会出现选项

    其实已经有值了,但是dom没更新,所以下拉框就没有值

    这个时候,我在el-select上加了个key并给个初始值updates,当我给<el-option>中的for循环selectData[Object.keys(item)[0]]赋上值之后,改变updates的值,这时候vue就会去更新dom

    this.selectData[item.columnName] = res;
     // 强制刷新select下拉dom
    this.updates = this.updates++;
    

      在vue的机制里当key变化时dom会被刷新,问题也就解决了

    good!

  • 相关阅读:
    第二阶段团队绩效评分
    团队冲刺2.9
    团队冲刺2.8
    团队冲刺2.7
    团队冲刺2.6
    团队冲刺2.5
    项目总结以及事后诸葛亮会议
    做什么都队第二阶段绩效评估
    第二阶段冲刺第十天
    第二阶段冲刺第九天
  • 原文地址:https://www.cnblogs.com/bobo1/p/13168499.html
Copyright © 2011-2022 走看看