UNPKG

@cc-dev-kit-test/console-components-console-menu

Version:

React component for Alibaba Cloud.

61 lines (55 loc) 1.45 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import React from 'react'; import * as S from './styles'; /* eslint-disable @typescript-eslint/no-explicit-any */ /** * @public */ /** * @internal */ export function mapItemToJSX(item) { var key = item.key, label = item.label, _item$disabled = item.disabled, disabled = _item$disabled === void 0 ? false : _item$disabled, _item$visible = item.visible, visible = _item$visible === void 0 ? true : _item$visible, render = item.render, subItems = item.items, navProps = item.navProps; if (visible) { if (subItems) { return React.createElement(S.SubMenu, _extends({ key: key, label: label }, navProps), subItems.map(mapItemToJSX)); } return React.createElement(S.Item, _extends({ key: key, disabled: disabled }, navProps), render ? render(item) : label); } return null; } /** * 打平嵌套结构,得到由叶子节点组成的数组。 * 类似于将`[item1, [item2, item3], item4]`变成`[item1, item2, item3, item4]` */ /* export function flattenNestedItems( items: IItemDescriptor[] ): IItemDescriptor[] { const result: IItemDescriptor[] = [] items.forEach(item => { if (item.items) { // this is a parent result.push(...flattenNestedItems(item.items)) } else { // this is a leaf result.push(item) } }) return result } */