Skip to content

Releases: smallerqiu/kui-react

Release list

react-kui 3.2.0

Choose a tag to compare

@smallerqiu smallerqiu released this 24 Oct 04:35

3.2.0

2026-10-24

不兼容变更

  • 组件内置文案默认改为英文:没挂 ConfigProvider 时,DatePicker、Select、Table、Modal、Page 等组件的内置文案都是英文;需要中文请在应用根部挂 ConfigProvider 并传入 locale(import zhCN from "react-kui/locale/zh-CN")。
  • 移除 theme="default":想要组件自己的默认外观就不要写 theme;可选的是 fill、outline、plain、solid、dashed、underlined。此前 Button 上写 theme="default" 会被当成 type="default",让 type="link" / type="text" 的按钮多出一块底色。
  • 主题类型收紧:不再导出 CheckCardTheme,theme 一律使用 ThemeType;不同组件只接受自己画得出的档位,写错档位 TypeScript 会报错(运行时组件仍按自己的外观呈现)。
  • shape 收窄:表面型组件(Card、ListPanel、FeatureCard、FeedbackPanel、Table、Descriptions、Collapse 等)只接受 square / round,写 circle 会报错;从 ConfigProvider 继承到 circle 时按 round 呈现。
  • Modal / Drawer 不再上报打开:挂载时就是打开状态、或把 open 翻成 true,不再回传一次 onOpenChange(true)。关闭仍会通知,且先 onOpenChange(false) 再 onCancel / onClose,这两个回调里读到的已经是结算后的开合值。

主题与外观

  • 输入类控件、选择器、颜色选择器等补齐 outline、solid、dashed、underlined 四档,并统一悬停、聚焦、禁用和校验失败时的表现;plain 与 bordered={false} 现在各管各的。
  • Card、FeatureCard、StatCard、Alert、Tag、CheckCard、Collapse、FeedbackPanel、Image、QRCode、Page、Kanban、Transfer、ListPanel 等组件补齐适用的 solid / dashed / plain 外观。
  • Checkbox / Radio 仅支持 fill、outline;CheckboxGroup / RadioGroup 会把主题传给组内每一项,子项显式设置优先。
  • 统一 color 预设值及文字对比度;修正 Button、Tag、Badge 的颜色应用与默认状态点行为。
  • Form 的 size / shape / theme 只作用于表单控件,不再连带改变表单里的卡片、表格等区块;要让整块页面跟着改,请写在 ConfigProvider 或组件本身。
  • 主题浅色、描边、悬停及聚焦颜色改为构建时生成,兼容旧版 Chromium(包括 Win7 适配版 Electron)。运行时修改基色不再自动重算派生色,需要时应显式覆盖对应 CSS 变量。

组件修复与增强

  • 输入框附件:纯文本 addonBefore / addonAfter 补齐留白、底色及各主题边框,outline / dashed 分别使用实线 / 虚线;修正 InputNumber 外部按钮附件示例,并验证数字 0 正常显示。

  • Menu:支持方向键与 Enter 操作,Escape 只收起当前一层;修复纵向子菜单展开时的错位;读屏软件能识别菜单层级与展开状态。

  • Table:修复分组表头、固定列与 scroll.y 的表头接缝、圆角和右下角缺口,列宽不足时整表横向滚动;支持嵌套 dataIndex、稳定兜底 rowKey 和单元格省略显示(ellipsis);内置文案接入语言包。

  • Tree:loadData 对同一节点只请求一次;修复虚拟滚动的行高与背景、缺 key 节点的展开与勾选串台;展开箭头不再进入 Tab 序列。

  • DatePicker:修复半截区间、手输、年 / 月面板、键盘操作与重复 onChange 等问题;年 / 月面板开始遵守 disabledDate。

  • Modal / Drawer:支持 destroyOnClose;修复多层叠开时的 Escape、centered、width、空标题栏及焦点高亮被裁切的问题;命令式弹窗的 title / content 可以传节点。

  • 弹层组件:统一支持 destroyOnClose(默认 true);确认弹窗的 onOk 返回 Promise 时,成功才关窗。

  • Form:InputGroup 内的输入框仍算表单项控件;竖排表单中写了 block 的控件占满整行。

  • InputNumber / AutoComplete:支持 addonBefore / addonAfter,把单位或固定文字贴在输入框外面;prefix / suffix 则贴在框内。

  • 其他组件:修复 DropdownButton 的菜单触发、Cascader 的占位文案、StatCard / StatNumber 的渲染、Select 遇到 NaN 时的崩溃、Tooltip 的描边,以及 Ripple / FlameWrap 在新版 Chrome 中的点击问题。

  • 无障碍与样式:补齐菜单、表格等组件的无障碍语义;统一库内滚动条样式。

其他说明

  • Page、Kanban、Transfer 等组件的主题仅在各自支持的档位内生效;不支持的档位会回退到组件对应的默认外观。
  • 用色值名当文字时,文字色按名字加深(深色主题下变浅)的一档;这一族颜色随主题一起生成,运行时只改基色不会带着它们走,需要时声明 --kui-color-<名>-text。