import { SWITCH, arrayInsertInterval, callable, classNames } from 'mixlea-utils-js'; import { MlButton } from '../ml-button'; import type { ButtonListButtonItem, MlButtonListProps } from './types'; import { View } from '@tarojs/components'; export type { MlButtonListProps, ButtonListButtonItem }; export function MlButtonList(props: MlButtonListProps) { const { gapX = 'xs', seperator, buttons, ...buttonBaseProps } = props; const buttonElements = buttons // 处理按钮显示 .filter(({ visible = true }) => callable(visible)) .filter(({ hidden = false }) => !callable(hidden)) // 渲染元素 .map((buttonProps, btnIndex) => ); return ( {seperator ? arrayInsertInterval(buttonElements, (btnIndex) => ( )) : buttonElements} ); }