`
xiaomiya
  • 浏览: 132422 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

操作数据

map 
阅读更多

操作数据

1,对象转数组形式:

原数据:

image.png

目标数据:

 // const dataSource = [

   //   { productKey: 1, name: 'a' },

   //   { productKey: 2, name: 'b' },

   // ];

const dataSource = valueList && Object.keys(valueList).map((pk) => ({

     productKey: pk,

     ...valueList[pk],

   }));

image.png

对此进行反转,

const newDataSource = payload.newRequest.reduce((pre, next) => {

         const pk = next.productKey;

         delete next.productKey;

         pre[pk] = next;

         return pre;

       }, {});

 

 

 

2,在原数组里面新增数组数据:

新的数据是value.tabList

原来的数据是cateItemList里面,

新的数据重新setState到老的数据里面

使用:[……原来的数据,value.tabList]

this.setState({

     cateItemList: [...cateItemList, value.tabList],

   });

 

 

3,

image.png

我这里转后怎么在把cateItemList,放入MiniInfo里面

 

使用

{...MiniInfo, cateItemList}

 

 

前端操作数据,置顶,上移,下移,删除,

置顶:

RoofTop = (record, index) => {

   const { cateItemList } = this.state;

   // const dataSourceProduct = cateItemList && cateItemList.map((item, i) => ({

   //   ...item,

   //   key: i,

   //   id: i + 1,

   // }));

   if (index === 0) {

     message.warning('已经是顶部');

   } else {

     cateItemList.unshift(cateItemList.splice(index, 1)[0]);

   }

   this.setState({

     cateItemList,

   });

 }

上移:

 MoveUpword = (record, index) => {

   const { cateItemList } = this.state;

   // const dataSourceProduct = cateItemList && cateItemList.map((item, i) => ({

   //   ...item,

   //   key: i,

   // }));

   if (index !== 0) {

     cateItemList[index] = 

     cateItemList.splice(index - 1, 1, cateItemList[index])[0];

   } else {

     cateItemList.push(cateItemList.shift());

   }

   this.setState({

     cateItemList,

   });

 }

下移:

 MoveDown = (record, index) => {

   const { cateItemList } = this.state;

   // const dataSourceProduct = cateItemList && cateItemList.map((item, i) => ({

   //   ...item,

   //   key: i,

   // }));

   if (index !== cateItemList.length - 1) {

     cateItemList[index] = 

     cateItemList.splice(index + 1, 1, cateItemList[index])[0];

   } else {

     cateItemList.unshift(cateItemList.splice(index, 1)[0]);

   }

   this.setState({

     cateItemList,

   });

 }

删除:

delTab = (record, index) => {

   const { cateItemList } = this.state;

   // const dataSourceProduct = cateItemList && cateItemList.map((item, i) => ({

   //   ...item,

   //   key: i,

   //   id: i + 1,

   // }));

   const itemlist = cateItemList.splice(index, 1)[0];

   console.log(itemlist, cateItemList, 'item');

   this.setState({

     cateItemList,

   });

 }

 

前端搜索:

 

 onSearch=(value) => {

   console.log(value, 'value');

   const { result } = this.state;

   const { devicetypeall } = this.props;

   const arr = [];

   this.setState({

     keys: 0,

   });

   if (value) {

     devicetypeall.map(item => {

       // if (v.devTypeCn.includes(value.key)) {

       //   arr.push(v);

       //   console.log(v, 'aaaaaaaa');

       // }

       if (item.childrenDevType) {

         const childrenDevType = [];

         item.childrenDevType.map(items => {

           if (items.devTypeCn.includes(value)) {

             const obj = {};

             childrenDevType.push(items);

             const has = arr.filter(i => i.devTypeCn === item.devTypeCn);

             if (has.length < 1) {

               obj.devTypeCn = item.devTypeCn;

               obj.devTypeEn = item.devTypeEn;

               obj.id = item.id;

               obj.childrenDevType = childrenDevType;

               arr.push(obj);

             }

           }

         });

       }

     });

     this.setState({

       result: arr,

     });

   } else {

     this.setState({

       result: devicetypeall,

     });

   }

 }

 

 

 

新加的一个banner管理,在原数据里面添加bannerlist

 

回调的时候:

image.png

 

分享到:
评论

相关推荐

    ArcGIS基础100例(操作手册+操作数据)汤国安

    《ArcGIS基础100例(操作手册+操作数据)汤国安》是一份全面介绍ArcGIS基础应用的资源包,适合初学者和有一定基础的GIS(地理信息系统)用户。该资源由知名专家汤国安教授编写,旨在通过100个实际操作案例,帮助读者...

    在ASP.NET 2.0中操作数据:定制数据修改界面

    在ASP.NET 2.0中操作数据:定制数据修改界面

    在ASP.NET 2.0中操作数据:DataList和Repeater数据分页(源码)

    在ASP.NET 2.0中操作数据:DataList和Repeater数据分页(源码)

    地理信息系统基础实验操作100例.rar

    这个资源包提供了完整的实验数据,方便用户进行实际操作,提高技能。 GIS(地理信息系统)是一种集成数据库、地理分析和地图展示的系统,它能够处理与地理位置相关的数据,广泛应用于城市规划、环境保护、灾害应急...

    数据仓库与数据挖掘教程

    1. 数据抽取(ETL):从不同的操作数据源中提取数据,如交易数据库。 2. 数据转换:清洗数据,解决格式不一致和错误,以便于分析。 3. 数据加载:将转换后的数据加载到数据仓库中,可能使用星型或雪花型模式来组织...

    C# 数据表(Dataset)操作 合并 查询一箩筐(源码)(批量数据导入导出数据库)

    通过学习这些示例,开发者能够更好地理解如何在C#环境中高效地处理和操作数据,这对于任何涉及数据库操作的项目都是至关重要的。这些技能对于提升开发效率和确保数据完整性非常有帮助,尤其是在大数据处理和企业级...

    数据结构课程PPT,非常全面

    数据结构是计算机科学中的核心课程,它探讨了如何在计算机中组织和操作数据,以便高效地执行各种操作。本课程的PPT集是为大学学生设计的,特别适合那些已经掌握了C语言基础知识的学习者。通过这些PPT,学生将能够...

    qt快速加载并动态显示大容量数据能够加载千万行量级的数据

    Qt是一个跨平台的C++库,提供了丰富的图形用户界面工具,包括TableWidget,用于展示和操作数据。本文将深入探讨如何利用Qt实现快速加载和动态显示大容量数据,如千万行级别的数据。 首先,我们需要理解Qt的...

    jqGrid使用demo: 数据加载 增加, 修改, 删除, 还原, 撤销等

    jqGrid是一款功能强大的JavaScript表格插件,用于在网页上展示和操作数据。它基于jQuery库,提供了丰富的数据网格功能,包括数据加载、增删查改等操作。在本示例中,我们将深入探讨如何利用jqGrid实现这些核心功能,...

    数据仓库ETL工具箱 中文版

    同时,也会涵盖数据仓库的分层架构,如ODS(操作数据存储)、DWH(数据仓库)和DM(数据集市)等。 3. **ETL工具**:详细解析各种流行的ETL工具,如Informatica、Talend、IBM DataStage等,介绍它们的功能特性、...

    数据结构与算法 张铭 课件

    张铭教授的这门课程深入浅出地介绍了这些关键概念,旨在帮助学生掌握如何有效地组织和操作数据,以及设计高效的算法。 1. **为什么要学习数据结构** 数据结构不仅仅是关于存储数据的方式,更是关于如何高效地访问...

    数据结构殷人昆答案

    7. **文件与外部存储**:当数据量过大无法全部存放在内存时,需要考虑如何在磁盘等外部存储上有效地组织和操作数据。 8. **动态规划和贪心策略**:这些算法设计思想常用于解决最优化问题,动态规划通过构建子问题的...

    (c语言)数据结构教程

    数据类型) 数据结构是计算机科学中的核心概念,它关乎如何有效地组织和操作数据。Niklaus Wirth 提出的公式 "Algorithm + Data Structures = Programs" 强调了数据结构在程序设计中的重要性。数据结构不仅仅是数据的...

    数据仓库与数据挖掘技术

    数据清洗和转换的过程,这是从操作数据到分析数据的关键步骤;以及ETL(提取、转换、加载)工具和技术的使用。此外,书中可能还详细讲解了各种数据挖掘技术,如决策树、神经网络、支持向量机和关联规则算法,并提供...

    普元元数据管理系统V5.0操作手册

    产品是一款基于 WEB 方式的元数据管理工具,采用这个工具能够整合游离于企业各环 节的元数据资产,便于用户浏览及分析元数据。产品有助于帮助用户了解和管理信息和加工 处理过程的来源,也有助于用户理解信息与加工...

    数据结构(用面向对象方法与C++语言描述)课后答案

    面向对象方法是现代软件开发中常用的一种编程范式,它强调将数据和操作数据的方法绑定在一起,形成一个独立的对象。在数据结构中,这意味着我们可以创建代表特定数据结构的类,并在类中定义操作这些结构的方法。例如...

    数据结构,算法与应用 ---C++语言描述(代码与习题答案)

    这本书旨在帮助读者理解如何有效地组织和操作数据,以及如何设计和分析高效的算法,这对于计算机科学的学习和实践至关重要。 数据结构是计算机科学的基础,它研究如何在内存中存储和组织数据,以便快速地访问和修改...

    数据结构串的基本操作演示

    数据结构课设设计作业之一.实现基本的串基本操作。简单易懂。

    纯JAVA不用数据库的,用数组对数据增删改查

    在Java编程中,有时我们可能需要处理一些简单的数据管理任务,而无需依赖...通过阅读和分析“StudentManager_1.1_pengxiaojiang”这个项目,初学者可以学习到如何在Java中创建和操作数据,以及如何实现基本的CRUD操作。

Global site tag (gtag.js) - Google Analytics