NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #5317 most downloaded on pub.dev
Tencent TDesign UI component library of Flutter, suitable for use in mobile projects.
Last release 1 months ago
02 Sep 2026
Release timing varies
gaps range from 4 weeks to 6 months
Nearly every release is documented
notes for 25 of 25 stable releases
2 versions withdrawn
withdrawn after publishing
3 years old
29 releases · first in 2023
0.2.7 → 1.0.0-alpha.1 · main@36af3143 → develop@1f527212
0.2.7→1.0.0-alpha.1·main@36af3143→develop@1f527212
Warning
Alpha 期间 API 和视觉仍可能调整,请锁定精确版本。
environment:
sdk: ">=3.8.0 <4.0.0"
flutter: ">=3.32.0"
dependencies:
tdesign_flutter: 1.0.0-alpha.1package:tdesign_flutter/tdesign_flutter.dart 导入;不要深层导入 lib/src。TD* 改为 T*,无 v0 兼容层;TDIcons.* 改为 TIcons.*。| 范围 | 用户要做的事 |
|---|---|
| 受控状态 | value 是唯一真值,在 onChanged 中回写;部分组件无回调即禁用 |
| Controller | 谁创建谁释放;不在 build 中创建;同一 Controller 不绑定多个组件 |
| Overlay | 从目标 Theme/Navigator 子树的 context 调用;异步前检查 mounted;按需设置 useRootNavigator |
| 应用样式 | Token 通过 TThemeBuilder.light/dark 接入 |
| 组件样式 | 全局/局部使用对应 T*ThemeData,局部覆盖使用 mergeExtension |
| 单实例样式 | 使用显式参数或 Flutter 标准样式对象;内容使用 Widget 槽位/builder |
实例显式参数
> 组件 ThemeData
> 用户显式设置的 Flutter 子树主题
> 用户显式设置的 Material 主题
> TDesign Token
Flutter/M3 隐式默认值不参与解析。禁止用 copyWith(extensions: [...]) 覆盖整个扩展列表,也不要把数据、内容、回调或 Controller 放入 ThemeData。
高:需重写调用;中:需调整参数/状态;低:主要是改名/主题迁移。下表不重复列出通用的 TD* → T*。
| 组件 | 风险 | 迁移动作 |
|---|---|---|
| ActionSheet | 中 | 重建 item/分组;样式转 TActionSheetThemeData |
| Avatar | 中 | 换用图片/文字/图标槽位 |
| BackTop | 低 | 替换形状枚举与 ThemeData |
| Badge | 中 | 使用 label、variant、child;按需设 showZero |
| Button | 高 | text/onTap/disabled 改为 child/onPressed/null。单例样式用 ButtonStyle,公共样式用 TButtonThemeData |
| Calendar | 高 | 时间戳 List<int> 改为 List<DateTime> 受控值,内建 Popup/时间选择移除。业务需回写 value,并自行组合标题和确认操作 |
| Cascader | 高 | List<Map> 改为 TCascaderOption 树,组件改为严格受控。业务需维护并回写选中路径 |
| Cell | 中 | TDCellStyle 转槽位和 TCellThemeData |
| Checkbox | 中 | 回写受控值;替换尺寸/内容 builder |
| Collapse | 中 | 回写展开值;样式转 TCollapseThemeData |
| DateTimePicker | 高 | TDDatePicker/TDPicker.showDatePicker 改为纯选择的 TDateTimePicker。用 mode/value/start/end/steps 表达列与边界,弹层/确认外置 |
| Dialog | 高 | Input/Image/Alert 等多套类型统一为 TDialog + TDialogAction。输入、图片和自定义内容改用 Widget 槽位 |
| Divider | 低 | 替换 layout/align 枚举与 ThemeData |
| Drawer | 中 | 替换 placement/item 回调;回归安全区 |
| DropdownMenu | 高 | 旧内建选项模型改为 item + panel builder。业务自行管理面板草稿、确认和取消状态 |
| Empty | 低 | 替换 variant;图片/操作用槽位 |
| FAB | 中 | 样式转 TFabThemeData;回归拖拽边界 |
| Footer | 低 | 替换 variant 和链接槽位 |
| Form | 高 | TDFormValidation 改为 TFormRule,FormItem 值与 builder 契约调整。需重接校验时机和错误展示 |
| Icon | 高 | TDIcons.* 改 TIcons.*;不再依赖主包图标字体 |
| Image | 中 | 替换 variant 和加载/失败槽位 |
| ImageViewer | 高 | 移除对旧 Swiper 的参数透传。改用 itemBuilder/新页码回调,回归动态数据和关闭生命周期 |
| Indexes | 中 | 替换索引/锚点类型;回归滚动 |
| Input | 中 | 保留业务 controller/focusNode;公共样式转 ThemeData |
| Link | 中 | 替换配色/尺寸/变体;内容用槽位 |
| Loading | 中 | 替换 size/icon 枚举;样式转 ThemeData |
| Message | 高 | 移除 MessageLink/MessageMarquee;内容改用 Widget |
| NavBar | 中 | 替换 item action;回归安全区/边框 |
| NoticeBar | 中 | 移除 Style 类;样式转 ThemeData,点击用 tap target |
| Picker | 高 | 旧 MultiPicker/TDPicker.show* 改为 TPickerOption + columns/linked 受控模型。header、取消、确认和 Popup 由业务组合 |
| Popover | 中 | 替换 placement/回调;样式转 ThemeData |
| Popup | 高 | 旧 Panel/Route 入口统一为 TPopupOptions + TPopupHandle。top/bottom 默认高 240,left/right 默认宽 280,center 默认 240×240,显式尺寸优先 |
| Progress | 中 | 替换 variant/labelPosition;回归 button/micro 事件 |
| Radio | 中 | 回写受控值;替换尺寸/内容 builder |
| Rate | 中 | 回写分值;自定义图标改用 builder |
| Refresh | 低 | 替换类型名与 ThemeData |
| Result | 低 | 替换 variant;图标/标题/操作用槽位 |
| Search | 中 | 重接输入回调;公共样式转 ThemeData |
| SideBar | 中 | 移除旧 Controller;改用受控选中值 |
| Skeleton | 高 | RowCol 旧类型改为 TSkeletonLayout/Block,delay 改为 Duration。可使用预设 variant 或重建 block 布局 |
| Slider | 中 | 替换单值/区间值契约;回写受控值 |
| Stepper | 中 | 替换 size/variant;按新 value/callback 迁移 |
| Steps | 中 | 替换 item/direction/status 类型 |
| SwipeCell | 高 | 左右 Widget 参数改为 panel/action/side/motion 模型。需重建操作列表并处理开关状态回调 |
| Swiper | 高 | 移除旧第三方 Swiper 透传,改为自有 TSwiper。需迁移 Controller、autoplay、pagination 和 pageEffect |
| Switch | 中 | 回写 value;样式转 TSwitchThemeData |
| TabBar | 高 | TDBottomTabBar* 改 TTabBar*;重建 item/variant/badge |
| Table | 高 | TDTableCol/Empty 改为泛型列与 Widget 空态。业务需回写排序和选择状态 |
| Tabs | 高 | 改用 TTabsBar/TTabsBarView/TTab。需同步 controller/index,并回归 Tab 与 View 联动 |
| Tag | 中 | 移除 Style 类;样式转 ThemeData,回写选中态 |
| Text | 中 | 替换 Text/Span/Configuration;回归文本继承 |
| Textarea | 中 | 保留业务 controller/focusNode;样式转 ThemeData |
| Theme | 高 | 应用入口用 TThemeBuilder;局部覆盖用 mergeExtension |
| TimeCounter | 高 | 改用 status/builder/新 Controller;由创建方释放 |
| Toast | 高 | 替换 show/close 与图文方向;使用正确 context |
| TreeSelect | 高 | 重建选项数据和受控值;回归动态更新 |
| Upload | 高 | 转换文件/状态模型和回调;回归权限/失败流程 |
先处理高风险组件,再在深浅色、窄屏、大字号、RTL、键盘、系统返回和动态数据下回归。
详细迁移指南将在后续文档列出。
One column per month.
Nothing published for this version
🚀 Features TDInput: TDInput密文模式下支持粘贴 @jflin19990707 ( #827 ) TDDropdownMenu: TDDropdownMenu的arrowIcon颜色可自定义 @jflin19990707 ( #831 ) TDInput: TDInput高度
🌈 0.2.7
🚀 Features
TDInput: TDInput密文模式下支持粘贴 @jflin19990707 (#827)
TDDropdownMenu: TDDropdownMenu的arrowIcon颜色可自定义 @jflin19990707 (#831)
TDInput: TDInput高度自适应 @jflin19990707 (#840)
TDCalendar: 允许月历控件在拖动后返回当前月份,用于延迟加载月份改变数据 @rxnh8256 (#816)
TDActionSheetItem: 支持设置cell描述信息的能力 @leenc123 (#811)
TDBottomTabBar: tabbar新增indicatorAnimation动画属性 @journeyding (#848)
🐞 Bug Fixes
TDPopup: 底部弹出popup重绘问题 @jflin19990707 (#826)
TDropdownMenu: TDropdownMenu分组菜单多选模式下的返回值bug @jflin19990707 (#828)
TDTable: TDTable中TDTableCol的索引BUG @jflin19990707 (#830)
TDTreeSelect: 树形选择器异步数据更新后能重新渲染;二级菜单文字过长处理一下;TDSelectOption中的value改为dynamic类型 @jflin19990707 (#834)
TDToast: TDToast过长溢出问题 @jflin19990707 (#839)
TDDropdownItem: TDDropdownItem不兼容TDMultiCascader @jflin19990707 (#846)
TDCalendar: 自定义日期单元格组件移除padding,使之沾满并覆盖默认选中样式从而实现自定义选中以及当前日期的样式问题,并增加日期锚点属性来实现自动滚动到锚点位置 @leenc123 (#808)
DropdownMenu: 修复 item 的 label 过长时导致显示不完全的 bug @edram (#823)
TDRadio、TDCheckbox: 单选框、多选框多列展示问题 @jflin19990707 (#841)
TDNavBar: 优化标题栏返回图标 支持暗黑模式 @sinianbao (#844)
TDNoticeBar : 新增 content 属性,废弃并兼容原有的context属性 @runoob-coder
2025-11-14TDNoticeBar : 新增content属性,废弃并兼容原有的context属性 @runoob-coder (#744)TDButton: 添加渐变颜色背景 @jflin19990707 (#773)TDToast: TDToast支持展示多个 @jflin19990707 (#780)TDUpload: 增加自定义上传监听 @leenc123 (#775)TDTable: 增加自定义表尾属性 @leenc123 (#776)TDMultiCascader: 修复initialIndexes 参数不生效 @epoll-j (#752)TDDialog: 按钮文案溢出问题 @jflin19990707 (#772)TDDateTimePicker: 日期时分秒的英文配置改为缩写 @jflin19990707 (#770)TDCell: TDCell的note过长时溢出问题 @jflin19990707 (#769)TDCell: 修复单元格内 icon 与文本的对齐问题 @runoob-coder (#789)TDProgress : 修复进度条改变时的样式问题 @runoob-coder (#744)docs: 优化文档格式和内容 @runoob-coder (#744)demo: 优化调整demo示例项目及代码演示,升级 Android 构建配置和依赖项以兼容在flutter 3.16.9至最新版(3.35.5)下运行,调整web预览iframe样式去除顶部边距 @runoob-coder (#744)web: 覆盖web依赖项,解决与flutter_localizations的版本冲突问题,兼容flutter之前版本 @runoob-coder (#744)TDNoticeBar: Added content property, deprecated and compatible with the original context property @runoob-coder (#744)TDButton: Added gradient color background @jflin19990707 (#773)TDToast: TDToast supports displaying multiple toasts @jflin19990707 (#780)TDUpload: Added custom upload listener @leenc123 (#775)TDTable: Added custom footer property @leenc123 (#776)TDMultiCascader: Fixed initialIndexes parameter not taking effect @epoll-j (#752)TDDialog: Fixed button text overflow issue @jflin19990707 (#772)TDDateTimePicker: Changed English configuration for date, hour, minute, second to abbreviations @jflin19990707 (#770)TDCell: Fixed overflow issue when note is too long @jflin19990707 (#769)TDCell: Fixed alignment issue between icon and text in the cell @runoob-coder (#789)TDProgress: Fixed style issue when progress bar changes @runoob-coder (#744)docs: Optimized document format and content @runoob-coder (#744)demo: Optimized and adjusted demo example project and code demonstrations, upgraded Android build configuration and dependencies to be compatible with Flutter from 3.16.9 to the latest version (3.35.5), adjusted web preview iframe style to remove top margin @runoob-coder (#744)web: Overridden web dependencies, resolved version conflict with flutter_localizations, compatible with previous Flutter versions @runoob-coder (#744)TDPopover : 添加圆角属性自定义 @jflin19990707
2025-09-12TDPopover: 添加圆角属性自定义 @jflin19990707 (#727)TDForm: 增加表单自定义背景颜色属性,按钮部分可为空 @jflin19990707 (#730)TDConfirmDialog: 弹窗支持自定义宽度,按钮增加自定义样式属性 @jflin19990707 (#724)TDPicker: 支持初始化和后续动态加载适量数据,修复卡顿问题@123dw-bot(#728)TDSideBar增加自定义未选中颜色 @jflin19990707 (#723)TDPopover: Added custom corner radius property @jflin19990707 (#727)TDForm: Added custom background color property for form, button part can be optional @jflin19990707 (#730)TDConfirmDialog: Dialog supports custom width, buttons added custom style properties @jflin19990707 (#724)TDPicker: Supports initialization and subsequent dynamic loading of appropriate data, fixes stuttering issues @123dw-bot (#728)TDSideBar: Added custom unselected color property @jflin19990707 (#723)TDUpload : 支持设置多图间距和对其方式 @CyJaySong
2025-08-14TDUpload: 支持设置多图间距和对其方式 @CyJaySong (#677)TDTreeSelect: 新增自定义宽度和最大行数字段,修复第二级宽度固定,长文本溢出问题 @123dw-bot (#694)TDDropdownMenu: 增加TDDropdownItemController,允许外部重置和更改下拉选项 @Luozf12345 (#697)TDStepper:Stepper增加controller参数,可用于实时修改value @Luozf12345 (#699)TDIndexes: 修复自定义索引无法响应点击事件 @epoll-j (#692)TDPopup: 修复close方法触发两次bug @epoll-j (#690)TDSideBar:修复TDSideBar组件初始化后children无法更新的问题 @Luozf12345 (#698)其他:恢复对flutter SDK 3.32版本的默认适配TDUpload: Support setting image spacing and alignment @cyjaysong (#677)TDTreeSelect: Added custom width and max lines fields, fixed fixed width for second level and long text overflow issues @123dw-bot (#694)TDDropdownMenu: Added TDDropdownItemController to allow external reset and change of dropdown options @Luozf12345 (#697)TDStepper: Added controller parameter to Stepper for real-time value modification @Luozf12345 (#699)TDIndexes: Fixed issue where custom indexes could not respond to click events @epoll-j (#692)TDPopup: Fixed bug where close method was triggered twice @epoll-j (#690)TDSideBar: Fixed issue where children of TDSideBar component could not be updated after initialization @Luozf12345 (#698)Misc: Restored default adaptation for flutter SDK version 3.32TDPicker : 支持切换时优先保持级联的选项值 @epoll-j
2025-07-09TDPicker: 支持切换时优先保持级联的选项值 @epoll-j (#666)TDTable: 支持行默认选中 @ccXxx1aoBai (#665)TDCalendar: 增加自定义日期单元格功能 @epoll-j (#667)TDForm: 增加Form 表单组件 @shizhe2018 @SimonWuZY (#620)TDTable: TDTableCol属性配置分离,空数据配置分离 @ccXxx1aoBai (#665)TDTable: 解决表头未选中图标显示问题,禁用状态下全选选中状态问题 @ccXxx1aoBai (#665)TDTable: 表格空数据问题 @ccXxx1aoBai (#671)TDDialog: 弹窗遮挡键盘问题 @jflin19990707 (#669)TDCollapse: collapse demo页面名称修改 @jflin19990707 (#670)TDDropdownMenu: 嵌套路由场景 弹窗位置计算错误 @hcanyz (#648)TDPicker: Supports prioritizing the retention of cascaded option values when switching @epoll-j (#666)TDTable: Supports default row selection @ccXxx1aoBai (#665)TDCalendar: Adds custom date cell functionality @epoll-j (#667)TDForm: Adds Form component @shizhe2018 @SimonWuZY (#620)TDTable: Separates TDTableCol attribute configuration and empty data configuration @ccXxx1aoBai (#665)TDTable: Fixes the issue with unselected icon display in table headers and the selection state problem under disabled conditions @ccXxx1aoBai (#665)TDTable: Fixes the empty data issue in tables @ccXxx1aoBai (#671)TDDialog: Fixes the issue where dialogs block the keyboard @jflin19990707 (#669)TDCollapse: Updates the demo page name for collapse @jflin19990707 (#670)TDDropdownMenu: Fixes the incorrect popup position calculation in nested routing scenarios @hcanyz (#648)🚀 Features TDTable: 支持表格行选择、自定义行高 @ccXxx1aoBai ( #594 ) TDTreeSelect: 支持局部多选 @epoll-j ( #587 ) TDCell: 支持自定义高度,底部分割线 @ccXxx1aoBai ( #611 ) TDNoticeBar
🌈 0.2.2
2025-06-13
🚀 Features
TDTable: 支持表格行选择、自定义行高 @ccXxx1aoBai (#594)
TDTreeSelect: 支持局部多选 @epoll-j (#587)
TDCell: 支持自定义高度,底部分割线 @ccXxx1aoBai (#611)
TDNoticeBar: 支持自定义文字行数 @ccXxx1aoBai (#611)
TDBottomTabBar: TDButtonBottomTabBar 中的 onTap 支持重复点击 @epoll-j @RSS1102(#586)
TDBottomTabBar: 实现点击水波纹效果 @RSS1102 (#626)
TDAvatar 增加自定义BoxFit参数 @shizhe2018 (#633)
🐞 Bug Fixes
TDDatePicker: 修复时间选择器分钟级时间数据展示问题- 优化小时、分钟、秒的选择范围计算逻辑 @epoll-j (#585)
TDSearchBar: 支持设置onTapOutside回调 @CyJaySong (#608)
TDDropdownMenu: 支持修改选中icon颜色 @jflin19990707 (#631)
TDTabBar: fix:TDBottomTabBarBasicType.iconText模式下,text icon 冲突问题 @jflin19990707 (#628)
TDEmpty: 支持操作按钮自定义样式 @jflin19990707 (#624)
TDToast: toast支持自定义文案 @jflin19990707 (#625)
TDPopup: 修改_measureChildHeight方法用于修复child无法修改弹窗高度 @Jzow (#591)
TDCascader 修改查询data数据为空状态处理 @shizhe2018 (#635)
🚧 Others
[其他]适配flutter 3.32版本 @Luozf12345 (#636)
TDTable: Added support for row selection and custom row height. @ccXxx1aoBai (#594)TDTreeSelect: Added partial multi-selection support. @epoll-j (#587)TDCell: Added support for custom height and bottom divider. @ccXxx1aoBai (#611)TDNoticeBar: Added support for custom number of text lines. @ccXxx1aoBai (#611)TDBottomTabBar: Made onTap in TDButtonBottomTabBar support repeated clicks. @epoll-j @RSS1102 (#586)TDBottomTabBar: Implemented tap ripple effects. @RSS1102 (#626)TDAvatar: Added custom BoxFit parameter. @shizhe2018 (#633)TDDatePicker: Fixed minute-level time display issue and optimized hour/minute/second range calculation logic. @epoll-j (#585)TDSearchBar: Added onTapOutside callback support. @cyjaysong (#608)TDDropdownMenu: Added support for modifying selected icon color. @jflin19990707 (#631)TDTabBar: Fixed text-icon conflict in TDBottomTabBarBasicType.iconText mode. @jflin19990707 (#628)TDEmpty: Added custom styling support for action buttons. @jflin19990707 (#624)TDToast: Added custom text support for toast. @jflin19990707 (#625)TDPopup: Modified _measureChildHeight method to fix inability to adjust popup height via child component. @Jzow (#591)TDCascader: Fixed empty state handling for query data. @shizhe2018 (#635)Nothing published for this version
🚀 Features TDCellGroup: 添加单元格组标题背景颜色titleBackgroundColor属性. @runoob-coder ( #539 ) TDLink: link参数链接对象LinkObj替换为MessageLink,调整TDLink样式,新增点击回调; @runoob-
🌈 0.2.0
2025-05-08
🚀 Features
TDCellGroup: 添加单元格组标题背景颜色titleBackgroundColor属性. @runoob-coder (#539)
TDLink: link参数链接对象LinkObj替换为MessageLink,调整TDLink样式,新增点击回调; @runoob-coder (#554)
TDBottomTabBar: 新增自定义标题支持到步骤条组件 @RSS1102 (#576)
TDSlider: 添加滑块点击事件 onTap @RSS1102 (#527)
TDCascader: 添加右上角"确定"按钮,支持选择任意选项 @Luozf12345
ImageViewer: 支持单张图片删除 @ccXxx1aoBai (#581)
TDPopup: 为Popup组件添加标题、左文本、右文本和关闭按钮自定义尺寸属性 @Jzow (#582)
TDBottomTabBarTabConfig: 添加长按 tab 触发事件onLongPress @RSS1102 (#580)
🐞 Bug Fixes
TDFooter: 修复页脚链接模式时内容溢出问题 @runoob-coder (#554)
TDUpload: 修复文件大小限制错误 @epoll-j (#544)
TDImageViewer: 增加Swiper组件属性透传,增加点击事件及部分样式属性,支持自定义按钮 @ccXxx1aoBai (#561)
TDSlider: 修复是胶囊类型且有区间时,滑块无法拖动到边缘以及数值和刻度展示问题 @qfish (#567)
TDInput: 修复非中文标签Input框宽度计算缺陷 @Jzow (#564)
TDPopup: 修复无法通过child中的height来修改弹出层高度 @Jzow (#571)
TDDropdownMenu: 修复特定情况下的单选失效 @1jialong (#575)
TDToast: 修复Toast多行文字不生效的问题 @Luozf12345
TDPopup: 修复Popup外层没有Scaffold时展示文字有横线的问题 @Luozf12345
🚧 Others
TDFooter: 重构 TDFooter 组件;将 LinkObj 类移除,直接使用 TDLink 类;移除了 isWithUnderline 参数,改为在 TDLink 中设置链接样式; @runoob-coder (#554)
TDCellGroup: Added titleBackgroundColor property for cell group title background color. @runoob-coder (#539)TDLink: Replaced link parameter LinkObj with MessageLink, adjusted TDLink styles, and added click callback. @runoob-coder (#554)TDBottomTabBar: Added custom title support for step bar component. @RSS1102 (#576)TDSlider: Added slider tap event onTap. @RSS1102 (#527)TDCascader: Added "Confirm" button at top-right corner to support selecting any option. @Luozf12345ImageViewer: Added single image deletion support. @ccXxx1aoBai (#581)TDPopup: Added custom size properties for popup title, left text, right text, and close button. @Jzow (#582)TDBottomTabBarTabConfig: Added onLongPress event triggered by long-pressing tabs. @RSS1102 (#580)TDFooter: Fixed content overflow issue in link mode. @runoob-coder (#554)TDUpload: Fixed file size limit error. @epoll-j (#544)TDImageViewer: Added Swiper component property passthrough, click events, and style properties; supports custom buttons. @ccXxx1aoBai (#561)TDSlider: Fixed edge drag failure and value/scale display issues in capsule type with range. @qfish (#567)TDInput: Fixed width calculation defect for non-Chinese label input fields. @Jzow (#564)TDPopup: Fixed inability to modify popup height via height in child component. @Jzow (#571)TDDropdownMenu: Fixed single-select failure in specific scenarios. @1jialong (#575)TDToast: Fixed multi-line text display issue. @Luozf12345TDPopup: Fixed horizontal line display issue when popup lacks outer Scaffold. @Luozf12345TDFooter: Refactored TDFooter component; Removed LinkObj class and directly used TDLink class; Removed isWithUnderline parameter (link styles now set in TDLink). @runoob-coder (#554)TDProgress : 新增 Progress 进度条 组件 @CORCTON
2025-03-31TDProgress: 新增Progress 进度条组件 @CORCTON (#307)TDMessage: 新增Message 全局提示组件 @chendingya (#316)TDSkeleton: 新增Skeleton 骨架屏组件 @Ezer015 (#317)TDFooter: 新增Footer 页脚组件 @chendingya (#224)TDPopover: 新增Popover 弹出气泡组件 @ccXxx1aoBai (#435)TDSwitch: 添加自定义“开/关”字体大小 @shinyina (#217)TDDatePicker: filterItems 参数添加,可自定义显示那些选项;itemBuilder 参数添加,用于自定义item @hkaikai (#426)TDDrawer: 新建TDDrawerWidget组件,可用于Scaffold中的drawer属性 @hkaikai (#445)TDTable: 自定义列返回当前行号 @ccXxx1aoBai (#457)TDUpload: upload组件支持宽高设置和快速替换配置 @HubuHito (#462)TDButton: 添加按钮图标位置属性 @epoll-j (#463)TDDropdownMenu: 支持单选(multiple == false)模式下,分栏(optionsColumns > 1)展示选项 @hkaikai (#502)TDActionSheet: 新增动作面板组件 @hkaikai (#485)TDPicker: 增加customSelectWidget参数 @epoll-j (#495)TDSlider: 增加修改滑轨颜色参数 @epoll-j (#506)TDCalendar: 添加动画滚动日历选中值位置 @hkaikai (#509)TDStep: 新增CustomContent参数支持Step的Content可以自定义内容 @Jzow (#452)TDTag: 新增fixedWidth参数固定宽度属性,可自定义Tag的宽度,修复TextOverflow.ellipsis溢出title问题 @Jzow (#496)TDPopup: 为底部浮层面板添加了边缘拖动控制 @Jzow (#514)TDBadge: Badge设置封顶的数字值 @chendingya (#302)TDToast:带图标类型支持设置文字行数 @ccXxx1aoBai (#481)TDRefreshHeader: 升级easy refresh到最新版本,兼容v2和v3写法;交互同步其他移动端平台 @hkaikai (#438)TDCell: 修复无默认样式情况下点击空白区域无反应问题;TDCellStyle默认构造方法提供context参数,可以构建默认样式;完善demo自定义样式用法 @hkaikai (#448)TDTable: 解决空数据图片无法显示问题 @ccXxx1aoBai (#451)TDTabBar: labelStyle、unselectedLabelStyle支持自定义Label的文字大小 @hkaikai (#453)TDCalendar: 修复定位到最后一个月时,无法定位问题 @hkaikai (#449)TDBottomTabBar: 修复capsule类型无法设置背景色 @epoll-j (#497)TDCalendar: 确定按钮添加国际化 @hkaikai (#505)TDUpload: 新增onMaxLimitReached函数修复自定义处理文件数量超过最大限制的Bug @Jzow (#474)TDInput: 新增_getTextWidth函数获取文本实际宽度和点击文本触发事件,修复buildNormalInput文本显示不全 @Jzow (#475)TDImage: 移除自定义宽和自定义高必填,以及默认高度和宽度尺寸72约束,让布局系统自动计算高度 @Jzow (#499)TDConfirmDialog: 新增布局约束和滚动支持动态计算最大高度,修复渲染失败Bug @Jzow (#510)TDDrawer: 新增_deleteRouter()在close函数中的调用强制清除路由,修复关闭路由无法再次打开Bug @Jzow (#512)TDText: 3.22鸿蒙版本text,组件不居中问题 @duleigiser (#437)TDAlertDialog: fix 按钮样式没有铺满 @lvjs (#460)TDProgress: Added Progress component @CORCTON (#307)TDMessage: Added Message (Global Prompt) component @chendingya (#316)TDSkeleton: Added Skeleton component @Ezer015 (#317)TDFooter: Added Footer component @chendingya (#224)TDPopover: Added Popover (Popup Bubble) component @ccXxx1aoBai (#435)TDSwitch: Added custom "ON/OFF" font size support @shinyina (#217)TDDatePicker: Added filterItems parameter for custom display options and itemBuilder for custom item rendering @hkaikai (#426)TDDrawer: Created TDDrawerWidget component compatible with Scaffold's drawer property @hkaikai (#445)TDTable: Custom columns now return current row number @ccXxx1aoBai (#457)TDUpload: Added width/height settings and quick replacement configuration support @HubuHito (#462)TDButton: Added icon position property @epoll-j (#463)TDDropdownMenu: Supported single-select mode (multiple == false) with multi-column display (optionsColumns > 1) @hkaikai (#502)TDActionSheet: Added Action Sheet component @hkaikai (#485)TDPicker: Added customSelectWidget parameter @epoll-j (#495)TDSlider: Added track color modification parameter @epoll-j (#506)TDCalendar: Added animated scrolling to selected value position @hkaikai (#509)TDStep: Added CustomContent parameter for Step content customization @Jzow (#452)TDTag: Added fixedWidth parameter and fixed TextOverflow.ellipsis title overflow issue @Jzow (#496)TDPopup: Added edge drag control for bottom panel @Jzow (#514)TDBadge: Added capped numeric value setting for Badge @chendingya (#302)TDToast: Added multi-line text support for icon-type toasts @ccXxx1aoBai (#481)TDRefreshHeader: Upgraded Easy Refresh to latest version, improved compatibility between v2/v3 syntax @hkaikai (#438)TDCell: Fixed unresponsive click in blank area without default style; Improved default style construction and demo usage @hkaikai (#448)TDTable: Fixed empty data image display issue @ccXxx1aoBai (#451)TDTabBar: Added labelStyle and unselectedLabelStyle support for custom font sizes @hkaikai (#453)TDCalendar: Fixed positioning issue when scrolling to last month @hkaikai (#449)TDBottomTabBar: Fixed background color setting for capsule type @epoll-j (#497)TDCalendar: Added localization for confirm button @hkaikai (#505)TDUpload: Added onMaxLimitReached callback to handle file limit overflow @Jzow (#474)TDInput: Added _getTextWidth function and click event to fix incomplete text display @Jzow (#475)TDImage: Removed mandatory custom width/height constraints (default 72px) for layout auto-calculation @Jzow (#499)TDConfirmDialog: Added layout constraints and dynamic max-height calculation with scroll support @Jzow (#510)TDDrawer: Added _deleteRouter() call in close function to force clear routes @Jzow (#512)TDText: Fixed text alignment issue in HarmonyOS 3.22 @duleigiser (#437)TDAlertDialog: Fixed button style not filling width @lvjs (#460)TDUpload: Added Upload component @TingShine
TDUpload: Added Upload component @TingShine (#405)SearchBar: Added keyboard action type @ccXxx1aoBai (#366)Cell: CellGroup added style control parameters: cardBorderRadius (card mode border radius), cardPadding (card mode padding), titlePadding (title padding) @hkaikai (#409)DropdownMenu: Added decorator configuration: decoration, which can customize menu color and border @hkaikai (#408)ImageViewer: Supports displaying image titles @ccXxx1aoBai (#411)Calendar: Added monthTitleBuilder parameter @hkaikai (#419)Calendar: Added pickerHeight, pickerItemCount parameters to control the height of the time selection component @hkaikai (#421)Toast: Supports customizing the overlay background color @ccXxx1aoBai (#423)Rate: Supports disabled parameter @hkaikai (#357)Calendar: Modified CalendarBuilder return value to Widget @Luozf12345 (#396)SearchBar: Added read-only attribute and click event @shizhe2018 (#393)Dialog: TDDialogButtonOptions added font size attribute @shizhe2018 (#381)DateTimePicker: Added time unit display attribute @shizhe2018 (#383)Input: Added additionInfo left and right display position @shizhe2018 (#401)NoticeBar: Fixed the issue of abnormal text display on the web @ccXxx1aoBai (#351)Rate: Fixed the issue where the onChange event was not triggered when clicking the tooltip in half selection @hkaikai (#361)Calendar: Fixed the issue of inaccurate scroll position due to inconsistent number of rows in the month date @hkaikai (#363)Calendar: Optimized the issue of rendering lag caused by too large min and max @hkaikai (#363)Input: Fixed the issue where the dividing line and content were not aligned when setting contentPadding @epoll-j (#365)Table: Fixed the issue of overflow when setting the width of fixed columns @ccXxx1aoBai (#370)Popup: Fixed the issue of delay in closing when clicking on the overlay @hkaikai (#380)Cascader: Added the function of clicking to select the first layer @shizhe2018 (#355)DateTimePicker: Added restrictions on hours, minutes, and seconds @shizhe2018 (#362)Textarea: Optimized the update of word limit changes @shizhe2018 (#385)TabBar: Fixed the issue where labelStyle and unselectedLabelStyle did not take effect @shizhe2018 (#399)Picker: Fixed the issue of unable to select color when sliding in multi-layer pop-up @shizhe2018 (#413)SearchBar: Fixed the issue of SearchBar jittering at the default position when focusing, and the cursor not being centered @Luozf12345 (#417)Dialog: Modified Dialog to only pass contentWidget, no need to pass title and content @Luozf12345 (#418)TDBottomTabBar: Fixed the issue of bottom overflow by 2.5 pixels in iconText mode @epoll-j (#422)TDNoticeBar: Added noticeBar component @ccXxx1aoBai
TDNoticeBar: Added noticeBar component @ccXxx1aoBai (#162)Result: Added Result component @shinyina (#220)TimeCounter: Timer component supports time display beyond conversion units, original TDCountDown component renamed to TimeCounter @hkaikai (#272)Calendar: Added Calendar component @hkaikai (#271)Indexes: Added Indexes component @hkaikai (#321)Table: Added table component @ccXxx1aoBai (#244)Rate: Added Rate component @hkaikai (#338)Dialog: Supports custom content padding and buttons @ccXxx1aoBai (#289)Drawer: Supports controlling the visibility of the divider, custom drawer background color, and controlling the display of the last divider @ccXxx1aoBai (#278)DropdownMenu: Added control parameters for icon/width/height/icon and text alignment @hkaikai (#297)Search: Added action and onActionClick properties @Ezer015 (#263)Avatar: Added onTap event @ccXxx1aoBai (#344)TDDropdownMenu: Added tabBarFlex parameter to TDDropdownItem to control width ratio @hkaikai (#338)SearchBar: Feature/td searchbarfix added cursor height property @shizhe2018 (#337)TimeCounter: Added forward timing function @epoll-j (#246)NavBar: [NavBar] supports setting bottom shadow @ccXxx1aoBai (#284)Cell: Added custom padding parameter @epoll-j (#276)Input: Added onTapOutside callback @epoll-j (#280)Picker: Added custom leftText, rightText @epoll-j (#301)Slider: Feature/tdslider added text wrapping function @shizhe2018 (#329)Radio: Feature/tdRadioGroup added built-in line wrapping, set number of rows and columns @shizhe2018 (#331)Dialog: Added custom input box @shizhe2018 (#333)TDNavBar: Added flexibleSpace parameter @Luozf12345 (#341)TDSearch: Added search box focus acquisition and clear events @Luozf12345 (#342)ImageViewer: Fixed defaultIndex invalid issue @ccXxx1aoBai (#292)TimeCounter: Fixed issue where it could not be reset repeatedly @hkaikai (#272)DropdownMenu: Adjusted popup layer logic, fixed issue where back button could not be listened to @hkaikai (#297)DatePicker: Removed monitoring on year, month, and day when destroyed to avoid memory leaks; added onSelectedItemChanged event @hkaikai (#300)SideBar: Fixed issue where custom selected style text was not centered @ccXxx1aoBai (#313)Popup: Fixed issue where multiple returns occurred when quickly clicking the mask @ccXxx1aoBai (#318)ImageViewer: Fixed issue where deleting the first image caused display anomalies @ccXxx1aoBai (#322)SideBar: Fixed issue where delayed loading components caused anchor point function anomalies @ccXxx1aoBai (#343)TDDropdownMenu: Optimized menu display text to show ellipsis when exceeding display limit @hkaikai (#338)NoticeBar: Fixed issue where it could not follow the theme color @ccXxx1aoBai (#350)Button: Fixed overflow issue when setting shape to square or circle @epoll-j (#257)Slider: Bugfix: Fixed issue where tb_slider setState did not update @arvinwli (#298)Cascader: Fixed list sorting issue @shizhe2018 (#303)Popup: Fixed issue where the keyboard would cover the input box in the Popup @epoll-j (#264)Cascader: Fixed linkage time limit range logic @shizhe2018 (#242)Loading: Fixed issue where dismissing Loading immediately after showing did not take effect @Luozf12345 (#340)Cell: Added Cell component @hkaikai
Cell: Added Cell component @hkaikai (#150)Drawer: Added Drawer component @hkaikai (#178)SwipeCell: Added SwipeCell component @hkaikai (#218)Steps: Added Steps component @aaronmhl (#199)ImageViewer: Added ImageViewer component @ccXxx1aoBai (#187)Cascader: Added Cascader component @shizhe2018 (#195)Fab: Added Fab component @TingShine (#239)BackTop: Added BackTop component @TingShine (#239)TreeSelect: Added TreeSelect component @TingShine (#239)Collapse: Added Collapse component @dorayx (#239)Input: Added inputAction API to support setting keyboard actions; added spacer API to customize component spacing @ccXxx1aoBai (#184)Text: Added global font configuration and the ability to load web fonts @Luozf12345 (#232)CountDown: Added start/reset/pause/resume control functions @hkaikai (#175)Popup: Supported position and size settings @hkaikai (#191)Toast: Fixed the issue where the duration attribute was ineffective @ccXxx1aoBai (#167)Input: Fixed the label overflow issue @ccXxx1aoBai (#184)Tabs: For the tabs component, outlineType 'capsule' now supports setting selected and unselected tab background colors, and outlineType 'card' supports setting the selected tab background color @ccXxx1aoBaiButton: Fixed the issue where properties could not be changed under the setState method @shizhe2018 (#201)SearchBar: Added a controller to the search bar, allowing external clearing of search text @shizhe2018 (#194)Slider: Added custom Decoration styles @shizhe2018 (#198)Empty: Added text size style API @shizhe2018 (#219)Dialog: Added input type background @shizhe2018 (#238)add: Added TDDropdownMenu dropdown menu component @hkaikai
TDDropdownMenu:
TDTextarea:
TDBottomTabBar:
TDBadge:
TDRadio:
TDCheckbox:
TDImage:
TDInput:
TDDivider:
TDToast:
TDSideBar:
TDButton:
TDDialog:
add: Added TDCountDown countdown component @hkaikai
TDCountDown:
TDTheme:
TDText:
TDBottomTabBar:
TDCheckbox:
TDTabBar:
TDSwitch:
TDDialog:
TDSlider:
TDButton:
TDInput:
add: Support for customizing the corner radius size through TDButtonStyle.radius
TDButton:
TDPicker:
TDSwitch:
TDBottomTabBar:
TDNavBar:
TDDialog:
TDButton:
TDInput:
TDAlertDialog:
TDRadio:
TDTabBar:
add: Added FitWidth type to the image, modified the corresponding Demo page
TDImage:
TDLoading:
TDPopup:
TDAvatar:
TDBottomTabBar:
TDButton:
TDSwiper:
TDInput:
reset code style, can run on 3.7.x
* publisher to pub.dev stable
* update code style
* update License
* update example main.dart
update slider component, make it is not depend on flutter sdk version
* publisher to pub.dev
* fix some bugs
delete default value of TDText's package prop, allow set it null value
update ReadMe.md, modify export file is 'tdesign_flutter.dart'
the first version, add button,text and other components.
Your coding agent can read these notes before it upgrades. Set up the MCP server →