• Button
  • Alert
  • Icon
  • Input
  • AutoComplete
  • Menu
  • Tab
  • Progress
  • Transition
  • Upload
  • UploadList
  • Progress
  • 发请求
  • 对拖拽上传的文件类型检查
  • 拖拽上传
  • Carousel
  • CarouselArrow 左右的箭头
  • CarouselIndicator 下面的指示器

整体架构

使用 monorepo 的方式,用于开发UI组件库和测试UI组件库

  1. Ha0ranUI
  2. ├─ .gitignore
  3. ├─ lerna-debug.log
  4. ├─ lerna.json
  5. ├─ package.json
  6. ├─ packages
  7. │ ├─ test-ui-component // 测试UI组件库
  8. │ └─ ui-with-rollup // UI组件库
  9. │ ├─ .babelrc
  10. │ ├─ .gitignore
  11. │ ├─ components
  12. │ ├─ dist
  13. │ ├─ index.js
  14. │ ├─ package.json
  15. │ ├─ README.md
  16. │ ├─ rollup.config.js
  17. │ ├─ tsconfig.json
  18. │ ├─ yarn-error.log
  19. │ └─ yarn.lock
  20. └─ yarn.lock

Upload组件

参考 rc-upload & antd

  1. 📦Upload
  2. ┣ 📜AjaxUpload.tsx // 上传组件
  3. ┣ 📜attr-accept.ts // 拖拽上传时对类型做检查
  4. ┣ 📜dragger.tsx
  5. ┣ 📜index.ts
  6. ┣ 📜interface.tsx // 类型接口
  7. ┣ 📜request.ts // 发送ajax请求
  8. ┣ 📜traverseFileTree.ts // 遍历文件夹
  9. ┣ 📜uid.ts // 生成uid
  10. ┣ 📜Upload.tsx
  11. ┗ 📜uploadList.tsx

request 使用原生 ajax 发送请求,需要调用 onprogress 方法上传进度

Carousel 组件

需要考虑到左右箭头,下面 indicator(样式、位置)、轮播滚动方向、滚动动画等