BUG-<el-option>多选框不能多选,前端Element

文章目录

来源

在一个 <el-select> 菜单组件中使用<el-option>时,为下拉菜单提供多个选项。每个 <el-option> 代表一个选项。

测试为一个用户添加多个角色,多选异常。

贴BUG代码:

html 复制代码
            <el-form-item label="角色">
              <el-select v-model="form.roleIds" multiple placeholder="请选择用户角色">
                <el-option
                  v-for="item in roleOptions"
                  :key="item.id"
                  :label="item.roleName"
                  :value="item.id"
                  :disabled="item.status == 1"
                />
              </el-select>
            </el-form-item>
javascript 复制代码
    /** 修改按钮操作 */
    handleUpdate(row) {
      this.reset()
      const id = row.id || this.ids
      getUser(id).then((response) => {
        this.form = response.user
        this.roleOptions = response.roles
        this.form.roleIds = response.roleIds
        this.open = true
        this.title = '修改用户'
        this.form.password = response.password

      })
    },

解决

测试发现注释掉

javascript 复制代码
this.form.roleIds = response.roleIds;

就正常运行(虽然不能正常显示原有值),不太懂前端,应该是绑定问题,这样直接赋值给表单里面的roleIds 锁死了?

这玩意是赋值,联系this.$set 用于向响应式对象添加一个属性或更新一个已经存在的属性。

javascript 复制代码
this.$set(this.form, 'roleIds', response.roleIds);

解决:

相关推荐
abigale034 分钟前
webpack+vite前端构建工具 -11实战中的配置技巧
前端·webpack·node.js
专注API从业者23 分钟前
构建淘宝评论监控系统:API 接口开发与实时数据采集教程
大数据·前端·数据库·oracle
Joker`s smile27 分钟前
Chrome安装老版本、不同版本,自制便携版本用于前端调试
前端·chrome
weixin_4166399729 分钟前
爬虫工程师Chrome开发者工具简单介绍
前端·chrome·爬虫
我是如子啊35 分钟前
【解决“此扩展可能损坏”】Edge浏览器(chrome系列通杀))扩展损坏?一招保留数据快速修复
前端·chrome·edge
灵性花火35 分钟前
Qt的前端和后端过于耦合(0/7)
开发语言·前端·qt
孤水寒月4 小时前
基于HTML的悬窗可拖动记事本
前端·css·html
祝余呀5 小时前
html初学者第一天
前端·html
耶啵奶膘7 小时前
uniapp+firstUI——上传视频组件fui-upload-video
前端·javascript·uni-app
视频砖家8 小时前
移动端Html5播放器按钮变小的问题解决方法
前端·javascript·viewport功能