关于 vue2中 el-checkbox-group 动态更新选项 视图不更新的问题

文章讨论了在Vue.js应用中使用el-dialog和el-checkbox-group时遇到的数据更新后视图未更新的问题。开发者尝试了this.$set(),this.$forceUpdate(),和this.$nextTick()等方法,但未能解决问题。文中提到一种可能的解决方案是利用v-if强制重新渲染,但不被推荐。作者寻求更优的解决办法。
摘要由CSDN通过智能技术生成

最近在 el-dialog 中使用 el-checkbox-group 选项值为对象的时候 动态渲染选数据 视图不更新这个问题已经给折磨透了
数据不一样 但每次打开后的视图都不更新

在这里插入图片描述

我也是翻遍了很多问答 基本上给的方法都离不开以下这些方法

  1. 使用 this.$set()
  2. 使用 this.$froceUpdate()
  3. 使用 this.$nextTick(() => {})

但都没有实际的解决 遇到的问题
反复的排查之后确认了确实是数据有更新 仅仅只是 视图没有发生变化 觉得应该可以通过 “v-if” 来暴力解决问题(不推荐)

    <el-dialog :title="' 选择发布人'" :close-on-click-modal="false" append-to-body :visible.sync="visible"
      class="JNPF-dialog JNPF-dialog_center" lock-scroll width="600px">
      <el-form ref="elForm" :model="dataForm" :rules="rules" size="small" label-width="120px" label-position="right">
        <el-form-item label="发布人:" prop="publisherUserNames" v-if="visible">
          <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
          <div style="margin: 15px 0;"></div>
          <el-checkbox-group v-model="dataForm.publisherUserNames" @change="handleCheckedCitiesChange">
            <el-checkbox v-for="item in userList" :label="item" :key="item.id">
              {{ item.realName }}
            </el-checkbox>
          </el-checkbox-group>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="closeSubmit()"> 取 消</el-button>
        <el-button type="primary" @click="dataFormSubmit()" :loading="btnLoading">
          确 定</el-button>
      </span>
    </el-dialog>

其他的数据处理操作按照正常的处理过程写就行了
后面也是有查阅到这位同志的帖子 vue2 element-ui el-checkbox 视图不更新问题
里面有很详细的解释说为什么会发生这样的问题(还是大佬厉害 得多学习) 确实可以这样做 但同样是不推荐 然而个人能力有限 并不能实现如他所示的效果 如果有同志有更好的方法 欢迎指正评论!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值