arco_design library

Arco Design Flutter 组件库。

目标是在 Flutter 上还原 arco-design v2.66.16 的设计语言与组件行为, 结构上分为四层:

  1. 令牌层(src/tokens):色板生成算法、预设色板、具名色查表、 语义颜色令牌,以及与主题无关的尺寸 / 间距 / 圆角 / 阴影 / 字体 / 动效 / 层级令牌。
  2. 主题层(src/theme):把令牌包装为 ThemeExtension, 提供亮暗两套主题与自定义主色能力。
  3. 图标层(src/icons):自绘矢量图标与可复用的旋转加载图标。
  4. 组件层(src/components):依据令牌实现的 UI 组件。

快速上手:

MaterialApp(
  theme: ArcoTheme.light(),
  darkTheme: ArcoTheme.dark(),
  home: ArcoButton(type: ArcoButtonType.primary, child: const Text('按钮')),
);

Classes

ArcoAffix
固钉(Affix)。
ArcoAlert
Arco 风格警告提示。
ArcoAnchor
锚点。
单个锚点链接(官方 Anchor.Link)。
ArcoAutoComplete
自动补全输入框。
ArcoAvatar
Arco 风格头像。
ArcoAvatarGroup
Arco 风格头像组。
ArcoAvatarGroupData
头像组向下传递的上下文。
ArcoBackTop
返回顶部。
ArcoBadge
Arco 风格徽标。
ArcoBorderWidth
边框宽度令牌(对应 @border-*)。
ArcoBoundaryDistance
视口边界预留距离,对应官方 Trigger.boundaryDistance。
ArcoBreadcrumb
面包屑。
ArcoBreadcrumbDropdownProps
下拉菜单配置(官方 Breadcrumb.Item.dropdownProps 的常用子集)。
ArcoBreadcrumbItem
单个面包屑项(官方 Breadcrumb.Item)。
ArcoBreadcrumbRoute
路由模式下单个面包屑的数据(官方 Breadcrumb.routes 的 RouteProps)。
ArcoButton
Arco 风格按钮。
ArcoButtonColors
单一状态下的三元色(文字 / 背景 / 边框)。
ArcoButtonGroup
按钮组。
ArcoButtonGroupScope
按钮组作用域:向内部按钮下发合并后的圆角。
ArcoButtonSizeToken
按钮尺寸令牌(对应 components/Button/style/token.less 的 @btn-size-*)。
ArcoButtonToken
按钮产物:由「类型 + 状态」解析出的一组可直接用于绘制的样式。
ArcoCalendar
日历组件。
ArcoCard
卡片容器。
ArcoCardGrid
卡片网格项,对应官方 Card.Grid。
ArcoCardMeta
卡片元信息,对应官方 Card.Meta。
ArcoCarousel
轮播(Carousel)。
ArcoCarouselAutoPlay
自动播放配置(官方 autoPlay)。
ArcoCascader
级联选择器。
ArcoCascaderOption
级联选择器的选项。
ArcoCheckbox
复选框。
ArcoCheckboxGroup
复选框组。
ArcoCheckboxGroupScope
复选框组的内部作用域,向 ArcoCheckbox 下发组的选中集合与回调。
ArcoCheckboxOption
复选框选项。
ArcoCol
Arco 栅格列。
ArcoColConfig
Col 在某个断点下的栅格配置,对应官方 { span, offset, order, push, pull }。
ArcoCollapse
折叠面板。
ArcoCollapseItem
单个折叠面板(官方 Collapse.Item)。
ArcoColorGenerator
Arco Design 动态色阶生成算法(Dart 精确移植版)。
ArcoColorPicker
颜色选择器。
ArcoColorTokens
Arco Design 语义颜色令牌。
ArcoComment
评论(Comment)。
ArcoCommentAlignConfig
分别指定头部与操作区对齐(官方 align: { datetime, actions })。
ArcoConfig
全局配置。
ArcoConfigProvider
全局配置下发组件。
ArcoContent
布局内容区(Layout.Content),对应官方 flex: 1。
ArcoCountdown
倒计时组件,还原官方 Statistic.Countdown。
ArcoDatePicker
日期选择器。
ArcoDescriptions
描述列表,还原官方 Descriptions。
ArcoDescriptionsColumn
响应式的列数配置,对应官方 column 的对象形式 { xs: 1, md: 2, lg: 3 }。
ArcoDescriptionsItem
描述列表的数据项,对应官方 DataType 的元素。
ArcoDivider
Arco 风格分割线。
ArcoDrawer
抽屉(侧边滑出面板)。
ArcoDropdown
下拉菜单。
ArcoDropdownButton
带下拉菜单的按钮组,对应官方 Dropdown.Button。
ArcoDropdownScope
下拉收起作用域:由 ArcoDropdown 注入,ArcoDroplistItem 点击后调用。
ArcoDroplist
下拉菜单,对应官方 .arco-dropdown-menu。
ArcoDroplistGroup
下拉菜单分组,对应官方 .arco-dropdown-menu-group。
ArcoDroplistItem
下拉菜单项,对应官方 .arco-dropdown-menu-item。
ArcoDroplistScope
下拉菜单的作用域,向菜单项传递配色主题。
ArcoEmpty
Arco 风格空状态。
ArcoFooter
布局页脚(Layout.Footer),对应官方 flex: 0 0 auto,无默认样式。
ArcoForm
表单。
ArcoFormController
表单控制器,对应官方 useForm 返回的 form 实例的常用方法。
ArcoFormFieldBinding
传给 ArcoFormItem.builder 的字段绑定:取值、回写与校验状态。
ArcoFormItem
表单项。
ArcoFormRule
校验规则,对应官方 FormItem.rules 数组项的常用子集。
ArcoHeader
布局页头(Layout.Header)。
ArcoIcon
通用图标渲染组件。
ArcoIconData
图标绘制数据。
ArcoIconFont
图标字体元信息。
ArcoIcons
官方 Arco 图标字体中的全部图标。
ArcoImage
图片(Image)。
ArcoImagePreviewConfig
图片预览配置(官方 Image.Preview 的部分常用项,透传给预览层)。
ArcoImagePreviewGroup
图片预览分组承载(官方 Image.PreviewGroup)。
ArcoImageTokens
图片线条级常量(对应 components/Image/style/index.less 中可明确的数值)。
ArcoInput
输入框。
ArcoInputNumber
数字输入框。
ArcoInputTag
标签输入框。
ArcoLayout
Arco 布局容器。
Arco 风格链接。
ArcoList<T>
列表。
ArcoListGrid
列表栅格配置,对应官方 List.grid(column / span / gutter)。
ArcoListItem
列表项,对应官方 List.Item。
ArcoListItemMeta
列表项元信息,对应官方 List.Item.Meta。
ArcoListPagination
列表内嵌分页配置,对应官方 List.pagination。
ArcoLocale
Arco 组件内置文案。
ArcoLocales
内置语言包。
ArcoMaxLength
输入长度限制,对应官方 Input.maxLength 的对象形式。
ArcoMentions
在文本中「@ 提及」某对象的下拉输入组件。
ArcoMentionsOption
Mentions 候选项数据(对应官方 options 中的对象写法)。
ArcoMenu
菜单。
ArcoMenuEllipsisConfig
水平模式溢出省略配置(官方 ellipsis 的对象形态)。
ArcoMenuEllipsisStatus
水平模式溢出状态(官方 onEllipsisChange 回调入参,2.57.0)。
ArcoMenuIcons
图标定制(官方 Menu.icons)。全部可选,未提供的用默认图标。
ArcoMenuItem
菜单项(叶子,可选中),对应官方 Menu.Item。
ArcoMenuItemGroup
分组标题(不可交互),对应官方 Menu.ItemGroup。
ArcoMenuLevelScope
当前菜单项所处层级(官方 processChildren(..., { level }),从 1 起算)。
ArcoMenuScope
向子孙菜单项下发状态,对应官方 MenuContext。
ArcoMenuTooltipProps
折叠态菜单项 Tooltip 的透传配置(官方 Menu.tooltipProps)。
ArcoMenuTriggerProps
pop / 折叠浮层子菜单的 Trigger 透传配置(官方 Menu.triggerProps)。
ArcoMessage
全局消息提示。
ArcoModal
模态对话框。
ArcoMotion
动效令牌(对应 @transition-duration-* 与 @transition-timing-function-*)。
ArcoNotification
通知提醒框。
ArcoOpacity
不透明度令牌(对应 @opacity-*)。
ArcoOverlayTextBaseline
浮层文本基线(约定见 docs/IMPLEMENTATION_PLAN.md 第 10 节第 6 条)。
ArcoPageHeader
页头。
ArcoPagination
分页器。
ArcoPalette
Arco Design 预设色板(14 组 × 10 阶 × 亮/暗)。
ArcoPalettes
全部预设色板集合。
ArcoParagraph
Arco 段落。
ArcoPopconfirm
气泡确认框(点击触发元素后弹出的小型确认气泡)。
ArcoPopover
气泡卡片。
ArcoPopupAlign
弹出层位置的微调参数,对应官方 Trigger.popupAlign。
ArcoPopupArrowPainter
弹出层箭头的画笔。
ArcoPopupBox
弹出层内容盒的统一样式容器。
ArcoPopupLayout
把弹出层内容按 12 方位摆放到容器中,并在内容之上绘制箭头。
ArcoPopupPlacement
弹出层的最终摆放结果。
ArcoPopupRenderObject
ArcoPopupLayout 对应的渲染对象。
ArcoPortal
把内容渲染到 Overlay 中,是 React Portal 在 Flutter 中的等价物。
ArcoProgress
Arco 风格进度条。
ArcoRadio
单选框。
ArcoRadioGroup
单选框组。
ArcoRadioGroupScope
单选框组的内部作用域。
ArcoRadioOption
单选框选项。
ArcoRadius
圆角令牌(对应 @border-radius-* / @radius-*)。
ArcoRate
评分。
ArcoResizeBox
伸缩框(ResizeBox)。
ArcoResult
Arco 风格结果页。
ArcoRow
Arco 栅格行。
ArcoSelect<T>
选择器。
ArcoSelectNode<T>
Select 选项树节点,对应官方 Select 的 options 数组项。
ArcoSelectOption<T>
单个选项,对应官方 Select.Option。
ArcoSelectOptionGroup<T>
选项分组,对应官方 Select.OptGroup。
ArcoShadowTokens
阴影令牌(对应 @shadow-*)。
ArcoSider
布局侧边栏(Layout.Sider)。
ArcoSizes
与主题明暗无关的尺度令牌(对应 components/style/theme/global.less)。
ArcoSkeleton
Arco 风格骨架屏。
ArcoSkeletonImage
骨架屏图片配置,对应官方 image 传入的对象。
ArcoSkeletonText
骨架屏文本配置,对应官方 text 传入的对象。
ArcoSlider
滑块。
ArcoSpace
Arco 风格间距容器。
ArcoSpacing
间距令牌(对应 @spacing-*)。
ArcoSpin
Arco 风格加载中。
ArcoSpinner
持续旋转的「加载中」图标。
ArcoStatistic
统计数值组件,还原官方 Statistic。
ArcoStep
单个步骤(官方 Steps.Step)。
ArcoSteps
步骤条。
ArcoSubMenu
子菜单(可展开),对应官方 Menu.SubMenu。
ArcoSwitch
开关。
ArcoTable
表格,还原官方 Table。
ArcoTableColumn
列定义,对应官方 ColumnProps。
ArcoTableExpandProps
展开行配置,对应官方 expandProps。
ArcoTableFilter
筛选项,对应官方 Column.filters 元素。
ArcoTableFilterContext
自定义筛选下拉参数,对应官方 filterDropdown 回调参数。
ArcoTableMetricsScope
表格量测作用域:给 ArcoTableSummaryCell 按列宽对齐。
ArcoTableRowCallbacks
行点击/悬停等事件回调,对应官方 RowCallbackProps 的子集。
ArcoTableRowSelection
行选择配置,对应官方 rowSelection。
ArcoTableSummary
汇总栏,对应官方 Table.Summary。
ArcoTableSummaryCell
汇总单元格,对应官方 Table.Summary.Cell。
ArcoTableSummaryRow
汇总行,对应官方 Table.Summary.Row。
ArcoTabPane
单个标签页。
ArcoTabs
标签页。
ArcoTag
Arco 风格标签。
ArcoText
Arco 正文文本。
ArcoTextArea
多行文本域,对应官方 Input.TextArea(.arco-textarea 系列 LESS 规则)。
ArcoTheme
Arco 主题入口:构建 ThemeData、读取令牌、构建明暗切换。
ArcoThemeData
Arco 主题令牌容器。
ArcoTimeline
时间轴。
ArcoTimelineItem
单个时间轴节点(官方 Timeline.Item)。
ArcoTimePicker
时间选择器。
ArcoTitle
Arco 标题。
ArcoTooltip
文字提示。
ArcoTransfer
穿梭框。
ArcoTransferItem
穿梭框数据项(官方 TransferItem)。
ArcoTransferOperationStyle
穿梭按钮容器样式(官方 operationStyle,此处映射内边距)。
ArcoTransferTitleData
标题栏函数式回调入参(官方 TransferListTitle 函数形态,2.18.0)。
ArcoTransferViewStyle
栏容器样式(官方以 CSSProperties 传任意样式,此处映射最常用几何项)。
ArcoTree
树形控件,还原官方 Tree。
ArcoTreeCheckExtra
ArcoTree.onCheck 的附加信息,对应官方 extra。
ArcoTreeExpandExtra
ArcoTree.onExpand 的附加信息,对应官方 extra。
ArcoTreeFlatNode
ArcoTreeIcons
定制节点图标,对应官方 icons。
ArcoTreeNodeData
树节点数据,对应官方 TreeNode 的 props / treeData 元素。
ArcoTreeSelect
树选择器,还原官方 TreeSelect。
ArcoTreeSelectExtra
ArcoTree.onSelect 的附加信息,对应官方 extra。
ArcoTreeSelectLabelValue
labelInValue 模式 / 自定义回显的值对象,对应官方 { label, value, disabled }。
ArcoTrigger
触发器:把一个浮层按 12 个方位挂到触发节点附近。
ArcoTypography
字体令牌(对应 components/style/theme/global.less 中的字号 / 字重)。
ArcoUpload
ArcoUploadFile
与浏览器 FileList 对应的跨端文件抽象(无第三方插件时的注入载体)。
ArcoUploadItem
上传列表中的单个文件项(官方 UploadItem)。
ArcoUploadRequestController
上传请求控制回调(对应用户 ArcoUpload.customRequest 的进度/成功/失败)。
ArcoUploadState
ArcoVerificationCode
验证码输入组件。
ArcoVerificationCodeSeparatorData
分隔符回调数据(官方 separator({ index, character }))。
ArcoVerificationCodeValidateData
校验回调数据(官方 validate({ inputValue, index, value }))。
ArcoWatermark
水印(Watermark)。
ArcoZIndex
层级令牌(对应 @z-index-*),同时给出插入顺序建议值。
SetEquality
浅比较两个集合(避免为一个小工具引入 collection 包依赖)。

Enums

ArcoAlertType
警告提示类型,对应官方 type。
ArcoAnchorBoundary
滚动边界模式(官方 Anchor.boundary)。
ArcoAnchorDirection
锚点方向(官方 Anchor.direction)。
ArcoAvatarShape
头像形状,对应官方 shape。
ArcoAvatarTriggerType
可点击头像的交互类型,对应官方 triggerType。
ArcoBadgeStatus
徽标状态类型,对应官方 status。
ArcoButtonBorderStyle
按钮边框线型。
ArcoButtonShape
按钮形状,对应官方 shape 属性。
ArcoButtonSize
按钮尺寸,对应官方 size 属性。
ArcoButtonStatus
按钮状态,对应官方 status 属性。
ArcoButtonType
按钮类型,对应官方 type 属性。
ArcoCalendarHeaderType
全屏日历头部类型,对应官方 headerType。
ArcoCalendarMode
日历展示模式(月历 / 年历)。
ArcoCalendarPanelOperation
面板头部的操作按钮,对应官方 panelOperations 取值。
ArcoCardSize
卡片尺寸,对应官方 size。
ArcoCarouselAnimation
轮播动画类型(官方 animation)。
ArcoCarouselDirection
轮播方向(官方 direction)。
ArcoCarouselIndicatorPosition
指示器位置(官方 indicatorPosition)。
ArcoCarouselIndicatorType
指示器类型(官方 indicatorType,never 表示隐藏)。
ArcoCarouselShowArrow
箭头显示策略(官方 showArrow,hover 表示悬停显示)。
ArcoCarouselTrigger
指示器触发方式(官方 trigger)。
ArcoCascaderExpandTrigger
展开下一级的方式,对应官方 expandTrigger。
ArcoCheckedStrategy
勾选回填方式,对应官方 Tree.checkedStrategy。
ArcoColField
行内 Col 在某个 Col 上可解析的字段。
ArcoCollapseIconPosition
折叠面板展开图标位置,对应官方 Collapse.expandIconPosition。
ArcoCollapseTrigger
收起触发方式,对应官方 onCollapse 的第二个参数。
ArcoCollapseTriggerRegion
可触发折叠操作的区域,对应官方 Collapse.triggerRegion; null(缺省)表示整个头部都可点击。
ArcoColorPickerFormat
颜色值输出格式,对应官方 ColorPicker.format。
ArcoCommentAlign
评论头部 / 操作区对齐(官方 align)。
ArcoComponentSize
全局组件尺寸。
ArcoDescriptionsLayout
描述列表排列方式,对应官方 Descriptions.layout。
ArcoDescriptionsSize
描述列表尺寸,对应官方 Descriptions.size。
ArcoDescriptionsTableLayout
描述列表表格布局,对应官方 Descriptions.tableLayout。
ArcoDividerOrientation
分割线文字位置,对应官方 orientation。
ArcoDividerType
分割线类型,对应官方 type。
ArcoDrawerPlacement
抽屉的弹出方位,对应官方 Drawer.placement。
ArcoFormLayout
表单布局,对应官方 Form.layout。
ArcoGridBreakpoint
响应式断点,对应官方 GridResponsiveBreakpoint。
ArcoImageFooterPosition
底部信息区位置(官方 footerPosition)。
ArcoImageStatus
图片加载状态(官方 loadStatus)。
ArcoInputNumberMode
数字输入框按钮模式,对应官方 InputNumber.mode。
ArcoInputSize
输入框尺寸,对应官方 Input.size。
ArcoInputStatus
输入框状态,对应官方 Input.status。
ArcoInputTagChangeReason
值变化原因,对应官方 InputTag.ValueChangeReason。
ArcoLayoutTheme
侧边栏配色主题,对应官方 Sider 的 theme。
ArcoLinkStatus
链接状态,对应官方 status。
ArcoListActionLayout
列表项操作组位置,对应官方 List.Item.actionLayout。
ArcoListSize
列表尺寸,对应官方 List.size(small / default / large)。
ArcoMenuMode
菜单模式,对应官方 Menu.mode。
ArcoMenuTheme
菜单主题,对应官方 Menu.theme。
ArcoMessageType
消息类型,对应官方 Message 的五种形态。
ArcoNotificationPosition
通知的弹出方位,对应官方 Notification.position。
ArcoNotificationType
通知的类型(决定左侧 24px 图标;null 表示不显示图标)。
ArcoPaginationItemType
页码项类型,对应官方 Pagination.itemRender 的 type 参数。
ArcoParagraphSpacing
段落的行高模式,对应官方 Typography.Paragraph 的 spacing。
ArcoProgressSize
进度条尺寸,对应官方 size。
ArcoProgressStatus
进度条状态,对应官方 status。
ArcoProgressType
进度条类型,对应官方 type。
ArcoRadioGroupMode
按钮单选的视觉模式,对应官方 Radio.Group.mode。
ArcoRadioGroupType
单选框形态,对应官方 Radio.Group.type。
ArcoResizeDirection
可伸缩边缘(官方 ResizeBox 的 directions 取值)。
ArcoResultStatus
结果页状态,对应官方 status。
ArcoRowAlign
行内垂直对齐方式,对应官方 align。
ArcoRowJustify
行内水平对齐方式,对应官方 justify。
ArcoSelectInputReason
输入框值变化的原因,对应官方 InputValueChangeReason。
ArcoSelectMode
选择模式,对应官方 Select.mode。
ArcoSkeletonImagePosition
骨架屏图片位置,对应官方 image.position。
ArcoSkeletonImageShape
骨架屏图片形状,对应官方 image.shape。
ArcoSkeletonImageSize
骨架屏图片尺寸,对应官方 image.size。
ArcoSpaceAlign
对齐方式,对应官方 align。
ArcoSpaceDirection
排列方向,对应官方 direction。
ArcoSpaceSize
间距预设,对应官方 Space 的 size。
ArcoStepsDirection
步骤条方向,对应官方 Steps.direction。
ArcoStepsLabelPlacement
标签描述放置位置,对应官方 Steps.labelPlacement。
ArcoStepsSize
步骤条尺寸,对应官方 Steps.size(default / small)。
ArcoStepsStatus
步骤状态,对应官方 wait / process / finish / error。
ArcoStepsType
步骤条节点样式,对应官方 Steps.type。
ArcoSwitchSize
开关尺寸。
ArcoSwitchType
开关样式类型,对应官方 Switch.type。
ArcoTableFixedPosition
固定列方位,对应官方 Column.fixed。
ArcoTablePagePosition
分页器位置,对应官方 Table.pagePosition。
ArcoTableRowSelectionType
行选择器类型。
ArcoTableSize
表格尺寸,对应官方 Table.size。
ArcoTableSortDirection
排序方向。
ArcoTabsPosition
标签栏位置,对应官方 Tabs.tabPosition。
ArcoTabsType
标签页类型,对应官方 Tabs.type。
ArcoTagSize
标签尺寸,对应官方 size。
ArcoTextType
文本语义类型,对应官方 type。
ArcoTimelineDirection
时间轴方向,对应官方 Timeline.direction。
ArcoTimelineDotType
节点类型,对应官方 Timeline.Item.dotType。
ArcoTimelineLabelPosition
标签文本位置,对应官方 Timeline.labelPosition。
ArcoTimelineLineType
连接线类型,对应官方 Timeline.Item.lineType。
ArcoTimelineMode
时间轴展示位置,对应官方 Timeline.mode:垂直方向时间轴在左/右或交替, 水平方向在上/下或交替。
ArcoTitleHeading
标题级别,对应官方 Typography.Title 的 heading(1-6)。
ArcoTransferPane
穿梭框左/右栏类型(官方 TransferListType,'source' | 'target')。
ArcoTreeActionOnNodeClick
点击节点标题时的行为,对应官方 actionOnClick。
ArcoTreeSelectSize
树选择器的尺寸,对应官方 TreeSelect.size。
ArcoTreeSelectStatus
选择器校验状态,对应官方表单 status。
ArcoTreeSize
树的尺寸,对应官方 Tree.size。
ArcoTriggerAxis
弹出层相对触发节点的基准方向。
ArcoTriggerPosition
弹出层相对触发节点的方位,与官方 Trigger.position 的 12 个取值一一对应。
ArcoTriggerType
触发浮层的方式,对应官方 Trigger.trigger。
ArcoUploadListType
上传列表类型。
ArcoUploadStatus
上传项状态。

Extensions

ArcoConfigContextExtension on BuildContext
语法糖:context.arcoConfig.locale.emptyDescription。
ArcoThemeContextExtension on BuildContext
语法糖:context.arco.colors.text1。

Constants

arcoNamedColors → const List<String>
官方 Tag / Badge 等组件 color 属性支持的具名色。
kArcoPaginationSizeOptions → const List<int>
默认的每页条数选项(官方 _SizeOptions)。
kWeekdayLabels → const List<String>
以 dayStartOfWeek 开始的一周表头文案(官方 zh:日一二三四五六)。

Functions

arcoNamedColorAt(String name, int index, Brightness brightness) → Color?
取具名色在指定明暗模式下的第 index(1-10)阶颜色。
arcoPaletteOf(String name) → ArcoPalette?
按具名色取预设色板;未知名称返回 null。
arcoTreeCollectCheckableChildKeys(ArcoTreeFlatNode node, ArcoTreeKeyIndex key2node) → Set<String>
官方 getChildNodeKeys:收集可勾选的后代 key。
arcoTreeGetAllCheckedKeysByCheck(String key, bool checked, List<String> checkedKeys, ArcoTreeKeyIndex key2node, List<String> indeterminateKeys) → ({List<String> checkedKeys, List<String> indeterminateKeys})
官方 getAllCheckedKeysByCheck:单次勾选后的完整勾选 / 半选集合。
arcoTreeGetCheckedKeysByInitKeys(List<String> checkedKeys, ArcoTreeKeyIndex key2node) → ({List<String> checkedKeys, List<String> indeterminateKeys})
官方 getCheckedKeysByInitKeys:由初始勾选 key 推导完整勾选 / 半选集合。
arcoTreeUpdateParent(String key, ArcoTreeKeyIndex key2node, Set<String> allKeys, Set<String> indeterminateKeys) → void
官方 updateParent:勾选变化后逐级更新父节点全选 / 半选状态。
buildArcoTreeIndex(List<ArcoTreeNodeData> nodes, {required bool checkable}) → ArcoTreeKeyIndex
由节点数据构建扁平索引(先序遍历,官方 getNodeList 的纯函数版本), 供 ArcoTree 与 ArcoTreeSelect 共用勾选联动 / 祖先查询。
collectMenuSubKeys(List<Widget> nodes) → List<String>
从菜单子树收集全部子菜单 key(文档序)。
computeArcoPopupPlacement({required Rect anchor, required Size popup, required Size container, required ArcoTriggerPosition position, bool showArrow = false, ArcoPopupAlign popupAlign = ArcoPopupAlign.none, bool autoFitPosition = true, double boundaryDistanceX = 0, double boundaryDistanceY = 0, double? boundaryDistanceWindowX, double? boundaryDistanceWindowY}) → ArcoPopupPlacement
计算弹出层的摆放位置。
flattenTableColumns(List<ArcoTableColumn> columns) → List<ArcoTableColumn>
把列树拍平为表体使用的叶子列(官方 getFlattenColumns)。
formatDateTime(DateTime date, String format) → String
把 format 中的令牌替换为 date 对应值。
isMenuChildrenSelected(List<Widget> children, List<String> keys) → bool
子树中是否有被选中的菜单项 / 可选中子菜单头(官方 isChildrenSelected)。
isSameDay(DateTime a, DateTime b) → bool
同一自然日(忽略时分秒)。
isSameMonth(DateTime a, DateTime b) → bool
同一自然月。
节点是否带前置图标。
读取节点用于溢出量测的纯文本。
monthLabel(int month) → String
月份短名(官方 zh:M月)。
resolvedTableColumnFixed(ArcoTableColumn column) → ArcoTableFixedPosition?
分组列的有效 fixed:自身优先,否则要求全部叶子一致;混合则 null (落入滚动区)。
startOfWeek(DateTime date, int dayStartOfWeek) → DateTime
date 所在周的起始日(含 dayStartOfWeek 偏移,0 = 周日)。
tableColumnLeafCount(ArcoTableColumn column) → int
一棵列(含自身)覆盖的叶子列数(官方 colSpan)。

Typedefs

ArcoBeforeUpload = FutureOr<bool> Function(ArcoUploadFile file, List<ArcoUploadFile> files)
上传前钩子:返回 false 时取消该文件上传。
ArcoBreadcrumbItemBuilder = Widget Function(ArcoBreadcrumbRoute route, List<ArcoBreadcrumbRoute> routes, List<String> paths)
路由模式下自定义面包屑渲染(官方 Breadcrumb.itemRender)。
ArcoFilePicker = Future<List<ArcoUploadFile>> Function()
文件选择回调:返回被选中的文件。
ArcoMentionsPrefix = Object
触发字符的类型:单个字符串,或多个候选。
ArcoRenderUploadItem = Widget Function(Widget originNode, ArcoUploadItem file, List<ArcoUploadItem> fileList)
渲染定制回调:将默认条目节点替换为自定义节点。
ArcoStatisticRenderFormat = Widget? Function(Object? value, String formattedValue)
统计数值的格式化后的渲染结果。
ArcoTableCellRender = Widget? Function(ArcoTableRowData record, int index)
自定义单元格渲染(官方 Column.render)。
ArcoTableRowData = Map<String, Object?>
数据行:dataIndex → 单元格值(官方 TableProps.data 元素)。
ArcoTableSorter = int Function(ArcoTableRowData a, ArcoTableRowData b)
排序比较器(官方 Column.sorter):返回负数表示 a 排在 b 前。
ArcoTransferFilter = bool Function(String inputValue, ArcoTransferItem item)
搜索筛选函数。
ArcoTransferItemBuilder = Widget Function(ArcoTransferItem item)
每条渲染函数。
ArcoTransferOnChange = void Function(List<String> newTargetKeys, ArcoTransferPane direction, List<String> moveKeys)
穿梭完成回调。
ArcoTransferOnSearch = void Function(String value, ArcoTransferPane type)
搜索回调。
ArcoTransferOnSelectChange = void Function(List<String> sourceSelectedKeys, List<String> targetSelectedKeys)
选中变化回调。
ArcoTransferTitleBuilder = Widget Function(ArcoTransferTitleData data)
标题栏自定义渲染(官方函数式 titleTexts[i])。
ArcoTreeKeyIndex = Map<String, ArcoTreeFlatNode>
key → 扁平节点索引(官方 key2nodeProps)。
ArcoUploadCustomRequest = void Function(ArcoUploadItem file, ArcoUploadRequestController controller)
自定义上传请求回调。
ArcoUploadRemoveCallback = dynamic Function(ArcoUploadItem file, List<ArcoUploadItem> fileList)
移除回调:返回 false(或解析为 false 的 Future<bool>)时不移除。
ArcoVerificationCodeSeparator = Widget? Function(ArcoVerificationCodeSeparatorData data)
分隔符渲染回调。
ArcoVerificationCodeValidator = Object? Function(ArcoVerificationCodeValidateData data)
校验函数:返回 false 拒绝输入;返回 String 将输入替换为返回值; 返回 true / null 表示接受。