当前位置: 首页 > news >正文

ElementUI el-select多选下拉框,回显数据后无法重新选择和修改

问题

ElementUI el-select多选下拉框,回显数据后无法重新选择和修改,点击选择和删除都没有反应,页面也没有报错

方案一

网上搜出来的基本上都是这个解决办法,但是我设置后没有生效,还是无法选择和修改

原因 下拉框数据是循环别的接口得来的,因为数据层次太多,render函数没有自动更新,需手动强制刷新。

@change="$forceUpdate()"

添加位置如下

<el-select v-model="form.sourceOrg" style="width:100%" multiple placeholder="请选择所属应用" @change="$forceUpdate()"><el-optionv-for="item in appOptions":key="item.id":label="item.appName":value="item.id"/>
</el-select>

方案二(解决)

最后通过使用this.$set赋值解决了该问题

this.$set能够实现什么功能

官方解释:向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新属性,因为 Vue 无法探测普通的新增属性 (比如 this.myObject.newProperty = 'hello,ningzaichun')

简单说即是:当你发现你给对象加了一个属性,在控制台能打印出来,但是却没有更新到视图上时,也许这个时候就需要用到this.$set()这个方法了

原来的赋值方式

this.form.sourceOrg = []
this.form.sourceOrgs.forEach(item => {this.form.sourceOrg.push(tem.appPriId)
})

改为

var as = []
this.form.sourceOrgs.forEach(item => {as.push(item.appPriId)
})
this.$set(this.form, 'sourceOrg', as)

修改后,解决此问题,回显数据后下拉框可以重新选择和修改

http://www.dtcms.com/a/265098.html

相关文章:

  • vue中的torefs
  • 自定义注解的使用
  • 玄机——某学校系统中挖矿病毒应急排查
  • Redis 常用五大数据类型
  • 【大模型学习 | MINIGPT-4原理】
  • MacOS 安装brew 国内源【超简洁步骤】
  • 数论基础知识和模板
  • Windows下docker安装
  • 通俗易懂的LangGraph图定义解析
  • Git客户端的创建与常用的提交、拉取、修改、推送等命令
  • 【王阳明代数讲义】谷歌编程智能体Gemini CLI 使用指南、架构详解与核心框架分析
  • 带GPU启动 Docker 容器
  • (转)使用DockerCompose部署微服务
  • 使用OpenCV识别图片相似度评分的应用
  • 洪水填充算法详解
  • 基于IndexTTS的零样本语音合成
  • 人脸活体识别4:Android实现人脸眨眼 张嘴 点头 摇头识别(可实时检测)
  • ESP32-s3摄像头驱动开发实战:从零搭建实时图像显示系统
  • sklearn机器学习概述及API详细使用指南
  • LeetCode Hot 100 滑动窗口 【Java和Golang解法】
  • 90.xilinx复位低电平(一般使用低电平复位)
  • 单链表和双向链表
  • python自动化运维
  • Redis基础(2):Redis常见命令
  • 多模态DeepSeek大模型的本地化部署
  • Colormind:优秀大模型赋能国产求解器,打造自主可控建模平台
  • 数学建模_拟合
  • 【Erdas实验教程】026:遥感图像辐射增强(去条带处理)
  • IDEA2025 Version Control 窗口 local changes显示
  • JavaScript 性能优化实战:减少 DOM 操作引发的重排与重绘