输入控件
Orbit drop zone
Orbit drop zone:验证所选文件、模拟上传进度,并保留可移除的附件结果。
使用 Orbit drop zone
校验所选文件、模拟上传进度,并保留可移除的附件结果。使用 onFileSelected、onUploadComplete、onUploadCancel、onUploadError 和 onAttachmentRemove 观察 React 生命周期。
Orbit drop zone 的预览采用「卡片」布局,主题设置为「浅色/深色」。
选择大小限制内的受支持文件,等待完成后移除附件。
进度为模拟结果,文件字节不会离开浏览器。请将描述符回调连接到宿主应用中的真实上传服务。
自定义预览
这些控件会传给演示组件。默认值和限制描述的是预览;完整的属性接口请查看实现代码。
| 控件 | 类型 | 默认值 | 预览限制 |
|---|---|---|---|
accent | color | #38BDF8 | 元数据未列出其他限制。 |
maxSizeMb | number | 5 | 范围 1 至 50;步长 1 |
uploadSeconds | number | 2 | 范围 1 至 6;步长 0.5 |
acceptHint | select | Images | 选项:Images、Documents、Any file |
应用如何接收变更?
使用 onFileSelected、onUploadComplete、onUploadCancel、onUploadError 和 onAttachmentRemove 观察 React 生命周期。
Orbit drop zone 提供哪些框架版本?
Orbit drop zone 提供 React、Vue、Svelte、Astro、HTML 版本。实时预览使用 React;以下代码观察仅针对 index.tsx。使用其他版本前,请确认其交互行为。
Orbit drop zone 有哪些依赖?
React 元数据列出的额外 npm 依赖为:motion。
Orbit drop zone 的代码中有哪些无障碍细节?
Orbit drop zone 的 React 代码包含:原生元素(button、input);属性与事件处理器(aria-hidden、aria-label、onKeyDown、tabIndex);显式角色(status);按键比较(Escape)。这些信息来自代码观察。请在组合后的页面中验证无障碍名称、焦点顺序和键盘行为。
Orbit drop zone 如何处理减少动态效果的偏好?
Orbit drop zone 的 React 代码通过 useReducedMotion() 读取动态效果偏好。index.tsx 中随偏好变化的表达式:reduce ? undefined : { rotate: 360 };reduce ? undefined : { rotate: arc.reverse ? -360 : 360 };reduce ? undefined : { scale: [1, 1.05, 1] }。请启用减少动态效果,检查完整实现、共享样式和所选框架版本;这些观察不能证明所有动画都会停止。