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

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

添加 :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
相关推荐
css趣多多几秒前
props,data函数,computed执行顺序
前端·javascript·vue.js
一个不称职的程序猿2 分钟前
构建优雅的 Vue.js 表情包选择器:一个功能丰富且可定制的 Emoji Picker 组件
前端·javascript·vue.js
无风听海8 分钟前
AngularJS中$q.when()的用法
javascript·ecmascript·angular.js
茶本无香26 分钟前
@Scheduled(cron = “0 */5 * * * ?“) 详解
java·定时任务·scheduled
yaonoran28 分钟前
【无标题】
java·开发语言·变量
康小庄34 分钟前
浅谈Java中的volatile关键字
java·开发语言·jvm·spring boot·spring·jetty
Amumu1213834 分钟前
Vue核心(二)
前端·javascript·vue.js
vx_bisheyuange35 分钟前
基于SpringBoot的海鲜市场系统
java·spring boot·后端·毕业设计
康康的AI博客43 分钟前
工业数据中台:PLC、SCADA、MES的实时协同架构
java·服务器·网络
それども1 小时前
为什么要加@ResponseBody
java·开发语言·spring boot