# front-tools-pro **Repository Path**: xiangrui_frontend/front-tools-pro ## Basic Information - **Project Name**: front-tools-pro - **Description**: 希望能打造一个通用的前端工具库,欢迎加入 - **Primary Language**: TypeScript - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-09-25 - **Last Updated**: 2023-01-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: tools, front-tools-pro ## README # front-tools-pro #### 介绍 希望能打造一个通用的前端工具库,欢迎加入 #### 软件架构 软件架构说明 #### 安装教程 1. yarn add front-tools-pro 2. npm install front-tools-pro #### 使用说明 1. node 环境 const { sumToList } = require("front-tools-pro"); 2. 浏览器 import \* as tools from "front-tools-pro"; #### 参考文档 ##### Array 类型的方法 ###### 判断是否不是空数组 isNotEmptyArray - 使用场景 - 有些时候对想访问数组第 0 的下标有奇效 - 返回值 - true 或者 false - 参考示例 if(isNotEmptyArray(data)){ // dosomething } ###### 处理数据,把空数组变成 null postArray - 使用场景 - 对于可以展开的表格,如果 children 是空数组,也会有展开的图标,通过这个方法就可以把空数组变成 null,从而解决没有数据还有展开图标的问题 - 返回值 - Array - 参考示例 const data = postArray(res.data,"children")
参数 说明 类型 默认值 版本
第一个参数 需要改变的数组 Array []
第二个参数 children的字段名称 String children
###### 对数组的某些字段求和 sumToList - 使用场景 - 我们很多时候都需要对数组的一个或多个字段求和,不想一次次的写重复代码,所以这个方法就产生啦 - 返回值 - 一个对象,key 为求和的字段名,value 是对应的和 - 参考示例 const {a,b,c}=sumToList({ origin:[{a:1,b:2,c:3},{a:1,b:2,c:3},{a:1,b:2,c:3}], fieldList:["a","b","c"] }) // console.log(a,b,c) 3,6,9
参数 说明 类型 默认值 版本
origin 求和的数组 Array []
fieldList 求和的字段名 Array[String] 不传的时候是纯数字数组求和
###### 从数组中查找返回需要的字段 listFindItemValue - 使用场景 - 后端返回的数据中只有 code,没有 name,但是我们页面上需要显示 name,所以需要通过 code 找到数据中的 name 来显示 - 返回值 - 与 code 对应的你需要的字段 - 参考示例 const result = listFindItemValue({ origin:[{code:"1",name:"张三"},{code:"1",name:"李四"}], fieldName:"code", needFieldName:"name", value:"1" }) // console.log(result) "张三"
参数 说明 类型 默认值 版本
origin 数据源,在哪里找 Array []
fieldName 对比的字段名称 String
needFieldName 需要返回的字段名称 String
value 需要比较的值 String|Number
equal 是不是全等 String 默认==可选===
###### 改变某一行某个字段 changeFieldData - 使用场景 - 表格数据中,有些时候只需要改变一个字段的值 - 返回值 - 改变后的数组 - 参考示例 const result = changeFieldData({ origin:[{code:"1",name:"张三"},{code:"1",name:"李四"}], fieldName:"code", fieldValue:"1", changeFieldName:"name", changeFieldvalue:"张三丰", childrenName:"children", }) // console.log(result) [{code:"1",name:"张三丰"},{code:"1",name:"李四"}]
参数 说明 类型 默认值 版本
origin 数据源,在哪里找 Array []
fieldName 对比的字段名称 String
fieldValue 对比的字段值 String|Number
changeFieldName 需要改变的字段名称 String
changeFieldvalue 需要改变的字段值 String|Number
childrenName children字段名称 String 适用于treeData
###### 改变某一行数据 changeRowData - 使用场景 - 表格数据中,有些时候需要改变多个字段的值,如果用 changeFieldData 就得用好几次,所以就有了这个改变一行的方法 - 返回值 - 改变后的数组 - 参考示例 const result = changeRowData({ origin:[{code:"1",name:"张三"},{code:"1",name:"李四"}], fieldName:"code", rowData:{code:"1",name:"张三丰"}, childrenName:"children", }) // console.log(result) [{code:"1",name:"张三丰"},{code:"1",name:"李四"}]
参数 说明 类型 默认值 版本
origin 数据源,在哪里找 Array []
fieldName 数据中唯一的字段 比如 id String
rowData 一行改造好的数据 object
childrenName children字段名称 String 适用于treeData
###### 根据一个数组转换成下拉列表需的数据 listToOptions - 使用场景 - 许多下拉列表的数据来源于接口, - 返回值 - 组装好的适用于下拉的数据源 - 参考示例 const result = listToOptions({ origin:[{code:"1",name:"张三"},{code:"1",name:"李四"}], labelVal:"name", valueVal:"code", labelKey:"label", valueKey:"value", }) // console.log(result) [{code:"1",name:"张三丰",value:"1",label:"张三丰"},{code:"1",name:"李四",value:"1",label:"李四"}]
参数 说明 类型 默认值 版本
origin 数据源 Array []
labelVal label的值 String|(item)=>{}
valueVal value的值 String|(item)=>{}
showAll 是否显示全部 Boolean false
labelKey label String 可以根据不同的UI框架调整
valueKey value String 可以根据不同的UI框架调整
emptyTxt 全部的文字 String 全部
###### 根据一个数组转换成 ENUM 类型 listToEnum - 使用场景 - 许多下拉列表的数据来源于接口,适用于 antdPro,其他的 UI 没有测试过 - 返回值 - 组装好的适用于下拉的数据源 - 参考示例 const result = listToEnum({ origin:[{code:"1",name:"张三"},{code:"1",name:"李四"}], labelName:"name", valueName:"code", showAll:false, }) // console.log(result) [{"1":{text:"张三"}},{"2":{text:"李四"}}]
参数 说明 类型 默认值 版本
origin 数据源 Array []
labelName label的值 String|(item)=>{}
valueName value的值 String|(item)=>{}
showAll 是否显示全部 Boolean false
###### 适用于对象数组和 treeData 的去重 objListUnique - 使用场景 - 对象数组或者 treedata 的数据有重复,但是我们需要的是不重复的时候 - 返回值 - 处理好的数据 - 参考示例 const result = objListUnique({ origin:[{code:"1",name:"张三"},{code:"1",name:"张三"}], fieldName:"code", childrenName:"children", }) // console.log(result) [{code:"1",name:"张三"}]
参数 说明 类型 默认值 版本
origin 数据源 Array []
fieldName 需要去重的字段 String
childrenName children的字段名 children
###### value 数组去重 valListUnique - 使用场景 - 对象数组或者 treedata 的数据有重复,但是我们需要的是不重复的时候 - 返回值 - 处理好的数据 - 参考示例 const result = valListUnique({ origin:["张三","张三","张三丰"], fieldName:"code", childrenName:"children", }) // console.log(result) ["张三","张三丰"]
参数 说明 类型 默认值 版本
有且只有一个参数 数据源 Array[String|Number] []
#### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request