工具函数模块
1. 函数列表
函数名 | 特征 | 说明 |
---|---|---|
ambArray | Ambiguity | 二义性Array转换,将...arguments 和Array 同时转换成统一的Array结构(原型链应用)。 |
ambEvent | Ambiguity | 二义性Event数据读取,要么读取event.target.value ,要么直接取值(如Select等)。 |
ambFind | Ambiguity | 从field=key 的变量中提取字段name 的值,变量可以是Object类型,也可以是DataObject类型。 |
ambKv | Ambiguity | 二义性遍历函数,如果是Object,则执行field=value ,如果是Array,针对每一个元素执行field=value 。 |
ambObject | Ambiguity | 二义性对象函数,只读取Object,先reference.props,再reference.state。 |
ambValue | Ambiguity | 二义性值函数,可读取所有数据,先reference.props,再reference.state。 |
connectId | Connect | (高频)触发id的onClick 方法,用于远程执行函数。 |
connectItem | Connect | 修饰表单<Form.Item/> 的验证效果。 |
connectRenders | Connect | 计算当前optionJsx中的$renders 渲染函数。 |
connectValidator | Connect | 为Form字段连接验证器专用,包括设置触发模式validateTrigger 。 |
decryptBase64 | Encrypt | Base64解码字符串。 |
dslArray | Dsl | 存储Array专用数据结构,根据配置执行操作结果,DataArray专用操作。 |
encryptAES | Encrypt | AES加密字符串。 |
encryptBase64 | Encrypt | Base64编码字符串。 |
encryptHmac512 | Encrypt | Hmac512加密字符串(数字签名用)。 |
encryptMD5 | Encrypt | MD5加密字符串(密码加密用)。 |
forest | Tree | 森林数组计算。 |
forestGroup | Tree | 分组森林数组计算。 |
formatCurrency | Format | 货币格式化。 |
formatDate | Format | 日期时间值格式化成可呈现的时间字符串。 |
formatExpr | Format | 表达式格式化,可执行:name/:name1/test 的格式化操作,保留或移除参数。 |
formatNow | Format | 格式化当前日期时间值。 |
formatObject | Format | 将字符串转换成对象,近似于valueKv 操作,如果提供第二参则执行key 的追加。 |
formatPercent | Format | 将值格式化成百分数。 |
formatQuery | Format | 构造查询字符串<uri>?<p1>=<v1>&<p2>=<v2> 的最终链接。 |
formatTpl | Format | 数据模板填充专用方法,可递归填充。 |
mathDiscount | Math | 折扣计算,将小数转换成常用的n折,n.n折 的n值。 |
mathDivision | Math | 数值计算除法,0除会抛异常。 |
mathMultiplication | Math | 数值计算乘法,可支持多个乘数构造最终结果,防止NaN值出现。 |
mathSum | Math | (只支持整数)数值计算加法。 |
randomArray | Random | 从Array中随机抽取某个元素。 |
randomInteger | Random | 生成随机整数。 |
randomString | Random | 生成随机长度的随机字符串。 |
randomUUID | Random | 生成UUID值。 |
sorterAsc | Sorter | 字典序顺序排列,字符串类型。 |
sorterAscD | Sorter | 字典序顺序排列,时间类型。 |
sorterAscDFn | Sorter | 「2阶」sorterAscD的2阶。 |
sorterAscFn | Sorter | 「2阶」sorterAsc的2阶。 |
sorterAscT | Sorter | 广义类型顺序排列。 |
sorterAscTFn | Sorter | 「2阶」sorterAscT的2阶。 |
sorterDesc | Sorter | 字典序逆序排列,字符串类型。 |
sorterDescD | Sorter | 字典序逆序排列,时间类型。 |
sorterDescDFn | Sorter | 「2阶」sorterDescD的2阶。 |
sorterDescFn | Sorter | 「2阶」sorterDesc的2阶。 |
sorterDescT | Sorter | 广义类型逆序排列。 |
sorterDescTFn | Sorter | 「2阶」sorterDescT的2阶。 |
sorterObject | Sorter | 对Object中的键值对进行字典序排列。 |
tree | Tree | 构造内置树结构,可构造树容器。 |
treeChildren | Tree | 选择直接子节点。 |
treeChildrenAll | Tree | 选择所有子节点(孙子辈但不包括自身)。 |
treeChildrenAllIn | Tree | 选择所有子节点(孙子辈并包括自身)。 |
treeFlip | Tree | 构造树的显示信息,最终生成root/level1/level2 的结构。 |
treeParent | Tree | 选择直接父节点。 |
treeParentAll | Tree | 选择所有父节点(祖辈但不包括自身)。 |
treeParentAllIn | Tree | 选择所有父节点(祖辈并包括自身)。 |
treeShared | Tree | 计算最大公约树(计算共享子树)。 |
Methods
(static) ambArray(…args) → {Array}
「标准」Ux.ambArray
二义性函数数组规范化
- 如果 args 本身是数组,则直接返回 args,并且过滤掉 undefined 的元素。
- 如果 args 的第一个元素是数组,则直接返回第一个元素,并且过滤掉 undefined 的元素。
- 如果 args 不是数组,也不是变参数组,则直接使用
[]
修饰过后返回最终数组。
框架内部的使用代码:
// 支持三种输入数据格式
// args 变参:("path1","path2");
// args 数组:(["path1","path2"]);
// args 修饰:("path1");
const fromPath = (reference = {}, ...args) => {
let keys = Ele.ambArray.apply(this, args);
const length = keys['length'];
// ... 其他代码部分
}
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
args |
Array.<any> | Array |
<repeatable> |
传入的二义性参数信息 |
Returns:
返回最终的数组信息
- Type
- Array
(static) ambEvent(event, config, defaultValue) → {any}
「标准」Ux.ambEvent
二义性Event读取专用函数
- Input触发时,直接从
event.target.value
中读取相关数据。 - 表单直接触发或Select触发,则
event
就是value,包括onSearch
,这种情况直接将event
作为读取值。
Parameters:
Name | Type | Description |
---|---|---|
event |
Event | Object | 传入方法和Ant Design中常用的 event 参数 |
config |
Object | 是否启用 |
defaultValue |
any | 默认值,如果没有读取到值则使用默认值 |
Returns:
返回最终读取到的值。
- Type
- any
(static) ambFind(props, key, name) → {any}
「标准」Ux.ambFind
二义性数据提取专用函数
- 传入
key
和name
,提取属性或状态之下的"对象包含的属性"值。 - 一级提取:可能返回Object,也可能返回DataObject。
- 二级提取:任意值。
框架内的使用代码如:
const targetKey = attrPath[0];
const name = attrPath[1];
if (targetKey && name) {
return Ele.ambFind(target, `$${targetKey}`, attrPath[1]);
} else {
console.error(`[ Ux ] 解析的配置不对,key = $${targetKey}, name = ${name}`);
}
Parameters:
Name | Type | Description |
---|---|---|
props |
Props | State | 传入的React组件的状态或属性对象 |
key |
String | 待提取的属性名或状态名称,提取内容必须是一个 |
name |
Array | String | 待提取的二级属性名 |
Returns:
返回最终提取的值。
- Type
- any
(static) ambKv(input, fnKv) → {any}
「标准」Ux.ambKv
二义性遍历函数
- 如果输入的是 Object,则直接遍历,并且传入参数
(key, value)
给 fnKv。 - 如果输入的的 Array,则遍历每一个 Object 元素,将元素的遍历信息
(key, value)
传入 fnKv。
Parameters:
Name | Type | Description |
---|---|---|
input |
Object | Array | 输入的被遍历的源 |
fnKv |
function | key=value 的处理函数 |
Returns:
返回fnKv
的执行结果
- Type
- any
(static) ambObject(reference, name) → {any}
「标准」Ux.ambObject
二义性合并专用函数
- 直接从 reference 的 props 或 state 中提取属性名为
name
的值。 - 如果无值则直接返回
{}
。
框架内部代码:
const yoHistory = (reference) => {
const $inited = Ux.ambObject(reference, "$inited");
const {activity = {}, changes = []} = $inited;
// 其他处理代码……
}
Parameters:
Name | Type | Description |
---|---|---|
reference |
Object | ReactComponent | React组件引用,通常是reference统一变量名 |
name |
String | 字符串变量名称,读取变量值专用 |
Returns:
返回最终的值
- Type
- any
(static) ambValue(reference, name) → {any}
「标准」Ux.ambValue
二义性专用提取数据函数
- 先从
props
中提取属性为 name 的值。 - 如果无法从
props
中提取,则直接从state
中提取对应的值。
框架内部代码:
const $submitting = Ele.ambValue(reference, "$submitting");
Parameters:
Name | Type | Description |
---|---|---|
reference |
Object | ReactComponent | React组件引用,通常是reference统一变量名 |
name |
String | 字符串变量名称,读取变量值专用 |
Returns:
返回变量对应的值
- Type
- any
(static) connectId(id)
「标准」Ux.connectId
必须在
componentDidMount
之后才能执行。
使用外围的代码触发onClick
操作,点击id
相匹配的元素。
Parameters:
Name | Type | Description |
---|---|---|
id |
String | 触发id的点击事件。 |
(static) connectItem(cell) → {Object}
「标准」Ux.connectItem
为表中的<Item/>
设置验证修饰效果。
Parameters:
Name | Type | Description |
---|---|---|
cell |
Object | 字段配置 |
Returns:
返回执行过后的结果
- Type
- Object
(static) connectRenders(optionJsx, cell, renders)
「标准」Ux.connectRenders
计算表单字段中专用的$renders
属性,构造最终的render函数。
Parameters:
Name | Type | Description |
---|---|---|
optionJsx |
Object | 表单配置中的optionJsx属性。 |
cell |
Object | 计算过程中的基础配置。 |
renders |
Object | 渲染函数Object配置,根据字段传入,编程模式。 |
(static) connectValidator(cell) → {Object}
「标准」Ux.connectValidator
加载特殊属性的实时验证专用函数,解析 optionConfig 中的 rules,并且执行验证。特殊规则如:
修改validateTrigger
为 onChange的组件:
- aiRadio
- aiCheckbox
- aiSelect
- aiListSelector
- aiTreeSelect
- aiDialogEditor
- aiMatrixSelector
禁用组件时删除rules
属性不执行绑定。
Parameters:
Name | Type | Description |
---|---|---|
cell |
Object | 当前表单输入字段专用配置。 |
Returns:
返回需要配置的optionConfig
对象。
- Type
- Object
(static) decryptBase64(value) → {String}
「标准」Ux.decryptBase64
Base64解码函数,针对value进行Base64解码。
Parameters:
Name | Type | Description |
---|---|---|
value |
String | 已经被编码过的Base64字符串。 |
Returns:
解码过后的明文。
- Type
- String
(static) dslArray(reference, key, data, config)
「标准」Ux.dslArray
Zero UI 中存储 Array 的专用数据,配置数据格式
{
field: "主键字段",
remove: "是否 true / false"
}
Parameters:
Name | Type | Description |
---|---|---|
reference |
Object | ReactComponent | React组件。 |
key |
String | 写内容所需的 key |
data |
Array | 合并到 reference state 中的数据本身 |
config |
Object | 配置数据 |
(static) encryptAES(value, secret) → {String}
「标准」Ux.encryptAES
使用AES算法加密,对value和secret进行AES加密操作
Parameters:
Name | Type | Description |
---|---|---|
value |
String | 执行签名的字符串,一般是明文 |
secret |
String | 密钥信息,和当前被签名的客户端绑定。 |
Returns:
执行加密过后的最终值。
- Type
- String
(static) encryptBase64(value) → {String}
「标准」Ux.encryptBase64
Base64编码函数,针对value进行Base64编码,生成Base64的密文。
Parameters:
Name | Type | Description |
---|---|---|
value |
String | 被编码字符串。 |
Returns:
编码好的Base64的字符串。
- Type
- String
(static) encryptHmac512(value, secret) → {String}
「标准」Ux.encryptHmac512
数字签名专用Hmac512算法加密,针对value和secret一起进行Hmac512数字签名加密。
Parameters:
Name | Type | Description |
---|---|---|
value |
String | 待执行签名的字符串,一般是明文。 |
secret |
String | 密钥信息,和当前被签名的客户端绑定。 |
Returns:
签名的最终信息,生成的 sig 值。
- Type
- String
(static) encryptMD5(value) → {String}
「标准」Ux.encryptMD5
MD5加密函数,针对value进行MD5加密,加密过后的密文全部转换成大写。
Parameters:
Name | Type | Description |
---|---|---|
value |
String | 被加密字符串。 |
Returns:
加密过后的密文。
- Type
- String
(static) forest(input, config, group) → {Object}
「引擎」Ux.forest
转换成森林数组,将所有的数组全部连接起来形成多叉树结构。
Parameters:
Name | Type | Description |
---|---|---|
input |
Array | 输入的完整节点信息 |
config |
Object | 基本配置信息 |
group |
Object | 组相关信息 |
Returns:
返回构造好的 group 信息
- Type
- Object
(static) forestGroup(input, group, supplier) → {Object}
「引擎」Ux.forestGroup
转换成树组(启动连接功能)
Parameters:
Name | Type | Description |
---|---|---|
input |
Array | 输入的完整节点信息 |
group |
Object | 最终换的组信息 |
supplier |
Promise.<T> | 构造子组数据专用的函数 |
Returns:
返回构造好的 group 信息
- Type
- Object
(static) formatCurrency(value) → {String}
「标准」Ux.formatCurrency
将传入值格式化成货币格式,该方法不带货币符号。
Parameters:
Name | Type | Description |
---|---|---|
value |
Number | String | 输入的数值。 |
Returns:
返回最终格式化过后的货币格式,可以和货币单位连用,取2位小数。
- Type
- String
(static) formatDate(value, pattern) → {string}
「标准」Ux.formatDate
格式化时间字符串或时间值。
Parameters:
Name | Type | Description |
---|---|---|
value |
Moment | String | 被格式化的字符串或Moment对象。 |
pattern |
String | 时间使用的模式如: |
Returns:
返回格式化过后的标准时间格式。
- Type
- string
(static) formatExpr(input, params, keep) → {String}
「标准」Ux.formatExpr
格式化字符串,将:x,:y使用params进行参数替换 比如:/api/test/:name和{name:"lang"}两个合并成 => /api/test/lang
Parameters:
Name | Type | Default | Description |
---|---|---|---|
input |
String | 原始字符串。 |
|
params |
Object | 传入参数。 |
|
keep |
Boolean |
false
|
是否保持原始key。 |
Returns:
格式化表达式过后的值。
- Type
- String
(static) formatNow(pattern) → {string}
「标准」Ux.formatNow
按模式格式化当前时间。
Parameters:
Name | Type | Description |
---|---|---|
pattern |
String | 时间使用的模式如: |
Returns:
返回格式化过后的标准时间格式。
- Type
- string
(static) formatObject(expr, appendKey) → {Object}
「标准」Ux.formatObject
将表达式k1=value1,k2=value2,k3=value3
解析成对象。
Parameters:
Name | Type | Default | Description |
---|---|---|---|
expr |
String | 表达式相关信息。 |
|
appendKey |
boolean |
false
|
解析过程中是否追加 |
Returns:
解析好的对象信息。
- Type
- Object
(static) formatPercent(value) → {String}
「标准」Ux.formatPercent
将传入值格式化成带百分比的字符串,该方法返回结果带百分号。
Parameters:
Name | Type | Description |
---|---|---|
value |
Number | String | 输入的将要被格式化的值。 |
Returns:
返回最终格式化的结果(百分比)。
- Type
- String
(static) formatQuery(uri, params, encode) → {String}
「标准」Ux.formatQuery
将参数追加到Query String中生成完整的uri链接。
Parameters:
Name | Type | Default | Description |
---|---|---|---|
uri |
String | 被格式化编码的Uri |
|
params |
Object | 将要追加的Query参数值 |
|
encode |
Boolean |
true
|
是否针对参数进行uri encode编码,默认是需编码的 |
Returns:
- Type
- String
(static) formatTpl(data, tpl) → {any|*}
「标准」Ux.formatTpl
使用数据填充模板生成最终带数据的合并格式。
const state = {};
const user = Ux.isLogged();
const config = Ux.fromHoc(reference, "account");
if (!user.icon) user.icon = `image:${ImgPhoto}`;
const empty = Ux.fromHoc(reference, "empty");
if (!user.workNumber) user.workNumber = empty;
if (!user.workTitle) user.workTitle = empty;
if (!user.workLocation) user.workLocation = empty;
// 根据模板格式化相关数据
const data = Ux.formatTpl(user, config);
state.$data = Ux.clone(data);
state.$ready = true;
reference.setState(state);
Parameters:
Name | Type | Description |
---|---|---|
data |
Object | 数据基础信息。 |
tpl |
Object | 模板信息。 |
Returns:
返回最终生成结果。
- Type
- any | *
(static) mathDiscount(up, down) → {Number}
「标准」Ux.mathDiscount
求折扣专用函数:计算折扣信息,最终得到 5折、9.5折
等之中的数值信息。
Parameters:
Name | Type | Description |
---|---|---|
up |
String | Number | 分子数据。 |
down |
String | Number | 分母数据。 |
Returns:
返回最终带一位小数位的折扣数值。
- Type
- Number
(static) mathDivision(dividend, divisor) → {Number}
「标准」Ux.mathDivision
数学除法运算,该运算可执行任何除法,包括 undefined 和 null,最终执行判断。
注:零除会抛出严重错误。
Parameters:
Name | Type | Description |
---|---|---|
dividend |
Number | String | 被除数 |
divisor |
Number | String | 除数 |
Returns:
商
- Type
- Number
(static) mathMultiplication(seed, …ops) → {Number}
「标准」Ux.mathMultiplication
数学乘法运算,该运算优于原始运算点:
- 任何数据都可以使用默认值执行乘法(1乘任何数为1)。
- 不论 undefined, null 都可以执行乘法。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
seed |
Number | String | 计算的乘数(种子值)。 |
|
ops |
Array.<any> |
<repeatable> |
被乘数构造的值和字符串数组。 |
Returns:
乘积。
- Type
- Number
(static) mathSubtract(left, right, isFloat) → {number}
「标准」Ux.mathSubtract
双值求差:数学计算中的双值求差。
Parameters:
Name | Type | Default | Description |
---|---|---|---|
left |
String | Number | 加数。 |
|
right |
String | Number | 另外一个加数。 |
|
isFloat |
Boolean |
false
|
是否执行浮点运算 |
Returns:
和。
- Type
- number
(static) mathSum(left, right, isFloat) → {number}
「标准」Ux.mathSum
双值求和:数学计算中的双值求和。
Parameters:
Name | Type | Default | Description |
---|---|---|---|
left |
String | Number | 加数。 |
|
right |
String | Number | 另外一个加数。 |
|
isFloat |
Boolean |
false
|
是否执行浮点运算 |
Returns:
和。
- Type
- number
(static) randomArray()
「标准」Ux.randomArray
(static) randomInteger(min, max)
「标准」Ux.randomInteger
随机生成数值。
Parameters:
Name | Type | Description |
---|---|---|
min |
Number | 生成数值区域的最小值。 |
max |
Number | 生成数值区域的最大值。 |
(static) randomString(length)
「标准」Ux.randomString
随机生成字符串,内部调用 random-js。
Parameters:
Name | Type | Description |
---|---|---|
length |
Number | 输入需要生成随机字符串的长度。 |
(static) randomUUID()
「标准」Ux.randomUUID
随机生成UUID,内部调用 uuid 库函数。
(static) sorterAsc(left, right, key) → {number}
「标准」Ux.sorterAsc
按字符串顺序排序。
Object.keys(groupedData).sort(Ux.sorterAsc).forEach(identifier => {
// 排序后的执行
});
Parameters:
Name | Type | Description |
---|---|---|
left |
Object | any | 左值。 |
right |
Object | any | 右值。 |
key |
String | 键值。 |
Returns:
排序因子
- Type
- number
(static) sorterAscD(left, right, key) → {number}
「标准」Ux.sorterAscD
按时间类型顺序排序。
Parameters:
Name | Type | Description |
---|---|---|
left |
any | 左值。 |
right |
any | 右值。 |
key |
String | 键值。 |
Returns:
排序因子
- Type
- number
(static) sorterAscDFn(key) → {function}
「标准」Ux.sorterAscDFn
「2阶」按时间类型顺序排序,生成函数。
Parameters:
Name | Type | Description |
---|---|---|
key |
String | 生成函数需要比较的字段 |
Returns:
排序函数。
- Type
- function
(static) sorterAscFn(key) → {function}
「标准」Ux.sorterAscFn
「2阶」按字符串顺序排序,生成函数。
Parameters:
Name | Type | Description |
---|---|---|
key |
String | 生成函数需要比较的字段 |
Returns:
排序函数。
- Type
- function
(static) sorterAscT(left, right, key) → {number}
「标准」Ux.sorterAscT
按任意类型顺序排序。
Parameters:
Name | Type | Description |
---|---|---|
left |
any | 左值。 |
right |
any | 右值。 |
key |
String | 键值。 |
Returns:
排序因子
- Type
- number
(static) sorterAscTFn(key) → {function}
「标准」Ux.sorterAscTFn
「2阶」按任意类型顺序排序,生成函数。
Parameters:
Name | Type | Description |
---|---|---|
key |
String | 生成函数需要比较的字段 |
Returns:
排序函数。
- Type
- function
(static) sorterDesc(left, right, key) → {number}
「标准」Ux.sorterDesc
按字符串逆序排序。
Parameters:
Name | Type | Description |
---|---|---|
left |
Object | any | 左值。 |
right |
Object | any | 右值。 |
key |
String | 键值。 |
Returns:
排序因子
- Type
- number
(static) sorterDescD(left, right, key) → {number}
「标准」Ux.sorterDescD
按时间类型逆序排序。
Parameters:
Name | Type | Description |
---|---|---|
left |
any | 左值。 |
right |
any | 右值。 |
key |
String | 键值。 |
Returns:
排序因子
- Type
- number
(static) sorterDescDFn(key) → {function}
##「标准」Ux.sorterDescDFn
「2阶」按时间类型逆序排序,生成函数。
Parameters:
Name | Type | Description |
---|---|---|
key |
String | 生成函数需要比较的字段 |
Returns:
排序函数。
- Type
- function
(static) sorterDescFn(key) → {function}
「标准」Ux.sorterDescFn
「2阶」按字符串逆序排序,生成函数。
Parameters:
Name | Type | Description |
---|---|---|
key |
String | 生成函数需要比较的字段 |
Returns:
排序函数。
- Type
- function
(static) sorterDescT(left, right, key) → {number}
「标准」Ux.sorterDescT
按任意类型逆序排序。
Parameters:
Name | Type | Description |
---|---|---|
left |
any | 左值。 |
right |
any | 右值。 |
key |
String | 键值。 |
Returns:
排序因子
- Type
- number
(static) sorterDescTFn(key) → {function}
「标准」Ux.sorterDescTFn
「2阶」按任意类型逆序排序,生成函数。
Parameters:
Name | Type | Description |
---|---|---|
key |
String | 生成函数需要比较的字段 |
Returns:
排序函数。
- Type
- function
(static) sorterObject(input) → {Object}
「标准」Ux.sorterObject
针对对象按照key
的字典序进行排序,主要用于打印过程中生成更容易分析的日志专用。
Parameters:
Name | Type | Description |
---|---|---|
input |
Object | 传入的对象Object的值。 |
Returns:
排序过后的对象。
- Type
- Object
(static) tree(reference) → {TreeProc}
「标准」Ux.tree
构造内置树结构,提供核心方法执行快速构造
- build:构造树结构
- getRoots:根节点执行
Parameters:
Name | Type | Description |
---|---|---|
reference |
Object | ReactComponent | React组件 |
Returns:
返回内置树结构
- Type
- TreeProc
(static) treeChildren(keys, data, parentField) → {Array}
「标准」Ux.treeChildren
选择当前节点的直接子节点。
Parameters:
Name | Type | Default | Description |
---|---|---|---|
keys |
Array | 被选择的节点的id集合 |
|
data |
Array | 将选择的数据源。 |
|
parentField |
String |
parent
|
父字段专用字段名。 |
Returns:
返回选择的数组。
- Type
- Array
(static) treeChildrenAll(keys, data, parentField) → {Array}
「标准」Ux.treeChildrenAll
选择当前节点的所有子节点(不包含当前)。
Parameters:
Name | Type | Default | Description |
---|---|---|---|
keys |
Array | 被选择的节点的id集合 |
|
data |
Array | 将选择的数据源。 |
|
parentField |
String |
parent
|
父字段专用字段名。 |
Returns:
返回选择的数组。
- Type
- Array
(static) treeChildrenAllIn(keys, data, parentField) → {Array}
「标准」Ux.treeChildrenAllIn
选择当前节点(多个)和这个节点所有子节点。
Parameters:
Name | Type | Default | Description |
---|---|---|---|
keys |
Array | 被选择的节点的id集合 |
|
data |
Array | 将选择的数据源。 |
|
parentField |
String |
parent
|
父字段专用字段名。 |
Returns:
返回选择的数组。
- Type
- Array
(static) treeFlip(data, config) → {Object}
「标准」Ux.treeFlip
拉平属性配置专用函数,构造树级别的显示信息。
Parameters:
Name | Type | Description |
---|---|---|
data |
Array | 将选择的数据源。 |
config |
Object | 树配置。 |
Returns:
返回对象信息。
- Type
- Object
(static) treeParent(keys, data, parentField) → {Array}
「标准」Ux.treeParent
选择当前节点的直接父节点。
Parameters:
Name | Type | Default | Description |
---|---|---|---|
keys |
Array | 被选择的节点的id集合 |
|
data |
Array | 将选择的数据源。 |
|
parentField |
String |
parent
|
父字段专用字段名。 |
Returns:
返回选择的数组。
- Type
- Array
(static) treeParentAll(keys, data, parentField) → {Array}
「标准」Ux.treeParentAll
选择当前节点的所有父节点(不包含当前)。
Parameters:
Name | Type | Default | Description |
---|---|---|---|
keys |
Array | 被选择的节点的id集合 |
|
data |
Array | 将选择的数据源。 |
|
parentField |
String |
parent
|
父字段专用字段名。 |
Returns:
返回选择的数组。
- Type
- Array
(static) treeParentAllIn(keys, data, parentField) → {Array}
「标准」Ux.treeParentAllIn
选择当前节点(多个)和这个节点所有父节点。
Parameters:
Name | Type | Default | Description |
---|---|---|---|
keys |
Array | 被选择的节点的id集合 |
|
data |
Array | 将选择的数据源。 |
|
parentField |
String |
parent
|
父字段专用字段名。 |
Returns:
返回选择的数组。
- Type
- Array
(static) treeShared(selected, treeArray, config) → {any}
「标准」Ux.treeShared
求选中节点的最大公约子树相关信息。
Parameters:
Name | Type | Description |
---|---|---|
selected |
Array | 被选中的节点值。 |
treeArray |
Array | 树状数据源的最原始信息。 |
config |
Object | 树相关配置,主要包含树字段 parent 和目标字段 target。 |
Returns:
返回每一个 selected 的最大公约树信息。
- Type
- any