弹框用户勾选过得置灰 或者不显示

弹框用户勾选过得置灰 或者不显示

添加 :disabled="row.disabled"

复制代码
        <el-table-column label="名称" width="300">
            <template #default="{ row }">
              <el-radio
              :disabled="row.disabled"
                :label="row.coursesName"
                v-model="selectedRowCourse"
                @change="onCourseChange(row)"
              />
            </template>
          </el-table-column>

一.置灰

每次弹框打开的时候调接口进行数据处理

复制代码
const getData = () => {
  let params = {
    id:'111111
  };
  singleCourseSearch(params).then((res) => {
    // courseData.value = res.data.items;
    courseTotal.value = res.data.total;
	
    let  formattedDate=res.data.items
    const idSet = new Set(courseForm.courses.map(item => item.id));
    let courseData11 = formattedDate.map(item => ({
        ...item,
        disabled: idSet.has(item.idGenerator)
      }));
    courseData.value = courseData11
  });

1.拿到接口的数据

复制代码
 let  formattedDate=res.data.items

2.courseForm.courses【新增数据都会push进去】取出所有id数据

复制代码
const idSet = new Set(courseForm.courses.map(item => item.id));

3.formattedDate循环添加disabled,只有接口某个数据与新增的数据的id相同,就添加disabled属性

复制代码
let courseData11 = formattedDate.map(item => ({
    ...item,
    disabled: idSet.has(item.idGenerator)
  }));
courseData.value = courseData11

二:直接filter删除

1.拿到接口的数据

复制代码
let  formattedDate=res.data.items

2.courseForm.courses【新增数据都会push进去】取出所有id数据

复制代码
const idSet = new Set(courseForm.courses.map(item => item.id));

3.formattedDate接口的数据idGenerator与新增的数据的id进行比较,如果有的话就筛选掉

复制代码
  let courseData11 = formattedDate.filter(item => !idSet.has(item.idGenerator));
  courseData.value = courseData11
相关推荐
longji几秒前
android 01 AOSP android16 aaos 编译及webview升级
android·aaos·aosp·android16
Makoto_Kimur2 分钟前
Agent 面试速成清单
java·agent
jiayong238 分钟前
第 25 课:给学习笔记页加上搜索、标签筛选和 URL 同步
开发语言·前端·javascript·vue.js·学习
人道领域10 分钟前
【黑马点评日记02】Redis缓存优化:商户查询性能提升百倍
java·spring boot·spring·servlet·tomcat·intellij-idea
jiayong2320 分钟前
第 12 课:`watch` 和防抖到底该怎么用
前端·javascript·vue.js
wuminyu24 分钟前
专家视角看Java的线程是如何run起来的过程
java·linux·c语言·jvm·c++
鹏程十八少29 分钟前
2.2026金三银四 Android Handler 完全指南:28道高频面试题 + 源码解析 + 图解 (一文通关)
android·前端·面试
zhangjw3429 分钟前
第3篇:Java流程控制:if-else、switch、循环(for/while/do-while)全解析
java·开发语言
im_AMBER33 分钟前
Leetcode 158 数组中的第K个最大元素 | 查找和最小的 K 对数字
javascript·数据结构·算法·leetcode·
qq_120840937137 分钟前
Three.js 场景性能优化实战:首屏、帧率与内存的工程化治理
开发语言·javascript·性能优化·three.js