import { Meta } from '@storybook/blocks'
Utils
在 ONES Design 中,工具函数是独立维护的。在使用它们之前,你需要先进行安装:
npm install @ones-design/utils
Array 数组
moveNode
移动列表节点的位置,返回更新后的新数组。
function moveNode<NodeType extends Record<string, any>>(
nodes: NodeType[],
source: number | string,
target: number | string,
): NodeType[]
Params
参数 | 说明 |
---|
nodes | 节点数组 |
source | 原位置 |
target | 目标位置 |
moveTreeNode
移动树节点的位置,返回更新后的新数组。
function moveTreeNode<NodeType extends Record<string, any>>(
nodes: NodeType[],
source: number | string | (number | string)[],
target: number | string | (number | string)[],
pos: -1 | 0 | 1,
childrenName?: string,
): NodeType[]
Params
参数 | 说明 | 默认值 |
---|
nodes | 节点数组 | |
source | 原位置 | |
target | 目标位置 | |
pos | 相对目标的位置,-1 为上面,0 为里面,1 为下面 | |
childrenName | 存放子节点的字段名 | 'children' |
insertTreeNode
在指定位置插入节点,返回更新后的新数组。
function insertTreeNode<NodeType extends Record<string, any>>(
nodes: NodeType[],
target: number | string | (number | string)[],
node: NodeType,
pos: -1 | 0 | 1,
childrenName?: string,
): NodeType[]
Params
参数 | 说明 | 默认值 |
---|
nodes | 节点数组 | |
target | 目标位置 | |
node | 要插入的节点 | |
pos | 相对目标的位置,-1 为上面,0 为里面,1 为下面 | |
childrenName | 存放子节点的字段名 | 'children' |
removeTreeNode
移除指定位置的节点,返回移除的节点和更新后的新数组。
function removeTreeNode<NodeType extends Record<string, any>>(
nodes: NodeType[],
pos: number | string | (number | string)[],
childrenName?: string,
): {
node: NodeType | null
nodes: NodeType[]
}
Params
参数 | 说明 | 默认值 |
---|
nodes | 节点数组 | |
pos | 节点位置 | |
childrenName | 存放子节点的字段名 | 'children' |
getTreeNode
获取指定位置的节点。
function getTreeNode<NodeType extends Record<string, any>>(
nodes: NodeType[],
pos: number | string | (number | string)[],
childrenName?: string,
): NodeType | null
Params
参数 | 说明 | 默认值 |
---|
nodes | 节点数组 | |
pos | 节点位置 | |
childrenName | 存放子节点的字段名 | 'children' |