操作数据
1,对象转数组形式:
原数据:
目标数据:
// const dataSource = [
// { productKey: 1, name: 'a' },
// { productKey: 2, name: 'b' },
// ];
const dataSource = valueList && Object.keys(valueList).map((pk) => ({
productKey: pk,
...valueList[pk],
}));
对此进行反转,
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,
我这里转后怎么在把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
回调的时候:
相关推荐
《ArcGIS基础100例(操作手册+操作数据)汤国安》是一份全面介绍ArcGIS基础应用的资源包,适合初学者和有一定基础的GIS(地理信息系统)用户。该资源由知名专家汤国安教授编写,旨在通过100个实际操作案例,帮助读者...
在ASP.NET 2.0中操作数据:定制数据修改界面
在ASP.NET 2.0中操作数据:DataList和Repeater数据分页(源码)
这个资源包提供了完整的实验数据,方便用户进行实际操作,提高技能。 GIS(地理信息系统)是一种集成数据库、地理分析和地图展示的系统,它能够处理与地理位置相关的数据,广泛应用于城市规划、环境保护、灾害应急...
1. 数据抽取(ETL):从不同的操作数据源中提取数据,如交易数据库。 2. 数据转换:清洗数据,解决格式不一致和错误,以便于分析。 3. 数据加载:将转换后的数据加载到数据仓库中,可能使用星型或雪花型模式来组织...
通过学习这些示例,开发者能够更好地理解如何在C#环境中高效地处理和操作数据,这对于任何涉及数据库操作的项目都是至关重要的。这些技能对于提升开发效率和确保数据完整性非常有帮助,尤其是在大数据处理和企业级...
数据结构是计算机科学中的核心课程,它探讨了如何在计算机中组织和操作数据,以便高效地执行各种操作。本课程的PPT集是为大学学生设计的,特别适合那些已经掌握了C语言基础知识的学习者。通过这些PPT,学生将能够...
Qt是一个跨平台的C++库,提供了丰富的图形用户界面工具,包括TableWidget,用于展示和操作数据。本文将深入探讨如何利用Qt实现快速加载和动态显示大容量数据,如千万行级别的数据。 首先,我们需要理解Qt的...
jqGrid是一款功能强大的JavaScript表格插件,用于在网页上展示和操作数据。它基于jQuery库,提供了丰富的数据网格功能,包括数据加载、增删查改等操作。在本示例中,我们将深入探讨如何利用jqGrid实现这些核心功能,...
同时,也会涵盖数据仓库的分层架构,如ODS(操作数据存储)、DWH(数据仓库)和DM(数据集市)等。 3. **ETL工具**:详细解析各种流行的ETL工具,如Informatica、Talend、IBM DataStage等,介绍它们的功能特性、...
张铭教授的这门课程深入浅出地介绍了这些关键概念,旨在帮助学生掌握如何有效地组织和操作数据,以及设计高效的算法。 1. **为什么要学习数据结构** 数据结构不仅仅是关于存储数据的方式,更是关于如何高效地访问...
7. **文件与外部存储**:当数据量过大无法全部存放在内存时,需要考虑如何在磁盘等外部存储上有效地组织和操作数据。 8. **动态规划和贪心策略**:这些算法设计思想常用于解决最优化问题,动态规划通过构建子问题的...
数据类型) 数据结构是计算机科学中的核心概念,它关乎如何有效地组织和操作数据。Niklaus Wirth 提出的公式 "Algorithm + Data Structures = Programs" 强调了数据结构在程序设计中的重要性。数据结构不仅仅是数据的...
数据清洗和转换的过程,这是从操作数据到分析数据的关键步骤;以及ETL(提取、转换、加载)工具和技术的使用。此外,书中可能还详细讲解了各种数据挖掘技术,如决策树、神经网络、支持向量机和关联规则算法,并提供...
产品是一款基于 WEB 方式的元数据管理工具,采用这个工具能够整合游离于企业各环 节的元数据资产,便于用户浏览及分析元数据。产品有助于帮助用户了解和管理信息和加工 处理过程的来源,也有助于用户理解信息与加工...
面向对象方法是现代软件开发中常用的一种编程范式,它强调将数据和操作数据的方法绑定在一起,形成一个独立的对象。在数据结构中,这意味着我们可以创建代表特定数据结构的类,并在类中定义操作这些结构的方法。例如...
这本书旨在帮助读者理解如何有效地组织和操作数据,以及如何设计和分析高效的算法,这对于计算机科学的学习和实践至关重要。 数据结构是计算机科学的基础,它研究如何在内存中存储和组织数据,以便快速地访问和修改...
数据结构课设设计作业之一.实现基本的串基本操作。简单易懂。
在Java编程中,有时我们可能需要处理一些简单的数据管理任务,而无需依赖...通过阅读和分析“StudentManager_1.1_pengxiaojiang”这个项目,初学者可以学习到如何在Java中创建和操作数据,以及如何实现基本的CRUD操作。