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

数据请求一个数组,向数组里push新增内容

新增并不覆盖原有数据
假设请求了一个接口得到一个对象数组的形式
{[{},{},{}]}以下代码不会很全,有的需要自己设置初始值。
基本都有了的,如果有更好的见解或方法欢迎来电
在这里插入图片描述

我们自己设置一个常量来接收这个返回值,

const data = res.data.items

// items是一个返回的数组,数组中还是对象,其中有个值是数组,假设我们叫itemarr

此时假设表单上有个按钮是新增/编辑
我们拿到这一行的rows

请求新增或编辑接口,一般都会得到查询(val)的值
假设请求回来成功了
我们

handleEdit = async (keys, rows, type) => {
// 获取实时的要修改的数据
const res = await service.getOneUpdate(rows[0]);
    if (res.success) {
	     const dataForm = {
	     	...res.data
	     }
	      if (this.dataForm?.length > 0) {// 如果原来返回就有数据
	      const dataSource = successTableRef.dataSource; // 赋值
	      const selectedRowKeys = []; // 定义空的数组便于后续传值
	      const selectedRows = [];
	      this.dataForm.forEach((itemid) => { // 循环遍历数组的每一项
	      const row = dataSource.find((it) => it.id == itemid); // find()方法查找是否有一样的值。
	        if (row) {
	          selectedRowKeys.push(itemid);
	          selectedRows.push(row);
	        }
	      });
	       const selectionData = {
	        selectedRowKeys,
	        selectedRows,
	        length: selectedRowKeys.length
	      };
	      setTimeout(() => {
	        this.tableRef?.setSelectionData(selectionData);
	      }, 0);
	    }
	  };	
 	}
 }

然后 就是我们的保存事件

  // 保存
  save = async (selectionData?: any) => {
    const item = selectionData.selectedRows.map(
      ({ sceneCode, id, sceneName }) => ({
        sceneCode,
        sceneId: id,
        sceneName
      })
    );
    let params = {
      defineId: this.props?.match?.params?.id,
      params: item
    };
    const res = await service.addScene(params);
    if (res && res.success === true) {
      this.setState({});
      ElNotification({ type: 'success', message: res.msg });
      const { store } = this.props
      store.MultiTabMobx.closeCurrentToPath('/fin/purcSettlement/Buyer');
    } else {
      ElNotification({
        type: 'error',
        message: res.msg
      });
    }
  };

跟上边没关系的
下边是对于超级没有逻辑要求的效果代码。
const dateitem = res.data.itemsdata 、、就是那个数组
let arr = []
val.forEach(item => {
console.log(item.date)
arr.push(item.date)
})
this.multipleSelection = arr
}

相关文章:

  • iOS - MVP 架构模式
  • <component :is=“动态组件“></component>
  • 大数据解决方案如何满足零售行业进销存数据的实时性存储与更新
  • react项目中实现打印预览功能
  • easyUI loyout tabs自适应宽度
  • react封装一个打印功能
  • 在linux环境下编译C++ 程序
  • react项目中,在tab列表上展示某个字段以 数组形式 展示
  • Spark Streaming官方文档学习--下
  • Vue 判断两个时间选择框的校验element 。开始时间不能大于结束时间
  • 为什么不能访问django自带的索引页
  • SSIS 数据类型和类型转换
  • Vue,列表展示。多个字段拼接展示
  • Swift开发:NSLayoutConstraint纯代码实现自动布局-初级篇
  • react中的 Modal.confirm
  • JavaScript 如何正确处理 Unicode 编码问题!
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • Java面向对象及其三大特征
  • mac修复ab及siege安装
  • quasar-framework cnodejs社区
  • Sequelize 中文文档 v4 - Getting started - 入门
  • vue2.0项目引入element-ui
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 力扣(LeetCode)21
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 思考 CSS 架构
  • 详解移动APP与web APP的区别
  • 用jQuery怎么做到前后端分离
  • 找一份好的前端工作,起点很重要
  • 转载:[译] 内容加速黑科技趣谈
  • 追踪解析 FutureTask 源码
  • ​iOS安全加固方法及实现
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (C#)获取字符编码的类
  • (Git) gitignore基础使用
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (层次遍历)104. 二叉树的最大深度
  • (分布式缓存)Redis分片集群
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (七)Knockout 创建自定义绑定
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (十六)串口UART
  • (译) 函数式 JS #1:简介
  • (转)Android学习笔记 --- android任务栈和启动模式
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET LINQ 通常分 Syntax Query 和Syntax Method