Status: done
作为 开发者, 我想要 给 FileSelector 组件添加 uploadOnly 属性, 以便 解决残疾人上传资料时的性能问题(弹窗加载慢因为需要一次性加载所有现有文件缩略图)。
uploadOnly 可选属性(布尔类型,默认 false) ✅uploadOnly=true 时:
uploadOnly 模式与现有的 allowMultiple 模式兼容 ✅uploadOnly=false 或未设置时,行为与原来完全一致 ✅uploadOnly?: boolean 属性@tanstack/react-query 管理服务器状态any 类型packages/file-management-ui/src/components/FileSelector.tsxpackages/file-management-ui/src/components/MinioUploader.tsxpackages/file-management-ui/tests/components/FileSelector.test.tsxpackages/file-management-ui/src/api/fileClient.tsdata-testid 用于测试选择当 uploadOnly=true 时:
useQuery 获取文件列表(避免加载大量缩略图)onChange 并关闭对话框packages/file-management-ui/src/components/index.ts 统一导出d8d-model (claude-opus-4-5-20251101)
✅ Story 13.16 实现完成
主要变更:
FileSelectorProps 接口中添加 uploadOnly?: boolean 属性,默认值为 falseenabled 条件为 isOpen && !uploadOnly,在 uploadOnly 模式下禁用查询handleUploadSuccess 回调,在 uploadOnly 模式下:
onChange 并关闭对话框file-management-ui 和 file-management-ui-mt 两个版本性能优化效果:
测试覆盖:
向后兼容性:
false,不影响现有代码packages/file-management-ui/src/components/FileSelector.tsx - 添加 uploadOnly 属性和相关逻辑packages/file-management-ui-mt/src/components/FileSelector.tsx - 同步更新 -mt 版本packages/file-management-ui/tests/components/FileSelector.test.tsx - 添加 uploadOnly 模式单元测试_bmad-output/implementation-artifacts/13-16-fileselector-uploadonly-mode.md - Story 文件_bmad-output/implementation-artifacts/sprint-status.yaml - Sprint 状态更新