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

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

添加 :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
相关推荐
Peter 谭7 分钟前
React Hooks 实现原理深度解析:从基础到源码级理解
前端·javascript·react.js·前端框架·ecmascript
猿来入此小猿7 分钟前
基于SSM实现的健身房系统功能实现十六
java·毕业设计·ssm·毕业源码·免费学习·猿来入此·健身平台
周胡杰41 分钟前
鸿蒙接入flutter环境变量配置windows-命令行或者手动配置-到项目的创建-运行demo项目
javascript·windows·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
teacher伟大光荣且正确43 分钟前
Qt Creator 配置 Android 编译环境
android·开发语言·qt
goTsHgo44 分钟前
Spring Boot 自动装配原理详解
java·spring boot
卑微的Coder1 小时前
JMeter同步定时器 模拟多用户并发访问场景
java·jmeter·压力测试
pjx9871 小时前
微服务的“导航系统”:使用Spring Cloud Eureka实现服务注册与发现
java·spring cloud·微服务·eureka
多多*2 小时前
算法竞赛相关 Java 二分模版
java·开发语言·数据结构·数据库·sql·算法·oracle
爱喝酸奶的桃酥2 小时前
MYSQL数据库集群高可用和数据监控平台
java·数据库·mysql
乌夷2 小时前
axios结合AbortController取消文件上传
开发语言·前端·javascript