arco_design library
Arco Design Flutter 组件库。
目标是在 Flutter 上还原 arco-design v2.66.16 的设计语言与组件行为, 结构上分为四层:
- 令牌层(
src/tokens):色板生成算法、预设色板、具名色查表、 语义颜色令牌,以及与主题无关的尺寸 / 间距 / 圆角 / 阴影 / 字体 / 动效 / 层级令牌。 - 主题层(
src/theme):把令牌包装为ThemeExtension, 提供亮暗两套主题与自定义主色能力。 - 图标层(
src/icons):自绘矢量图标与可复用的旋转加载图标。 - 组件层(
src/components):依据令牌实现的 UI 组件。
快速上手:
MaterialApp(
theme: ArcoTheme.light(),
darkTheme: ArcoTheme.dark(),
home: ArcoButton(type: ArcoButtonType.primary, child: const Text('按钮')),
);
Classes
- ArcoAffix
-
固钉(
Affix)。 - ArcoAlert
- Arco 风格警告提示。
- ArcoAnchor
- 锚点。
- ArcoAnchorLink
-
单个锚点链接(官方
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 风格空状态。
-
布局页脚(
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 布局容器。
- ArcoLink
- 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。 -
底部信息区位置(官方
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< Function()ArcoUploadFile> > - 文件选择回调:返回被选中的文件。
- 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表示接受。