Uploader 图片上传

简单的图片上传,可以删除已选照片,或者选择新图片,通过onChange事件将新的图片数组传递给父组件,父组件处理完后,将结果更新到files。 orientation值代表图片方向,请参考http://stackoverflow.com/questions/7584794/accessing-jpeg-exif-rotation-data-in-javascript-on-the-client-side### 定义/Definition#用户根据提示将自己本地的相应图片(包含本地和云储存)上传到网站,并且可以更改或撤销上传行为。

规则 / Rule

  • 图片上传时需要提供大图预览功能;

  • 图片尺寸自定义,图片之间间距为4*n,一般根据容器大小进行栅格布局,一行的上限是4张并列图片。

代码演示

图片上传

简单的图片上传组件

  1. import { Uploader, WhiteSpace } from 'antd-mobile';
  2. const UploaderExample = React.createClass({
  3. getInitialState() {
  4. return {
  5. files: [{
  6. url: 'https://os.alipayobjects.com/rmsportal/mOoPurdIfmcuqtr.png',
  7. id: '2121',
  8. }, {
  9. url: 'https://os.alipayobjects.com/rmsportal/mOoPurdIfmcuqtr.png',
  10. id: '2122',
  11. }, {
  12. url: 'https://os.alipayobjects.com/rmsportal/mOoPurdIfmcuqtr.png',
  13. id: '2123',
  14. }, {
  15. url: 'https://os.alipayobjects.com/rmsportal/mOoPurdIfmcuqtr.png',
  16. id: '2124',
  17. }, {
  18. url: 'https://os.alipayobjects.com/rmsportal/mOoPurdIfmcuqtr.png',
  19. id: '2125',
  20. }, {
  21. url: 'https://os.alipayobjects.com/rmsportal/mOoPurdIfmcuqtr.png',
  22. id: '2126',
  23. }],
  24. files2: [],
  25. };
  26. },
  27. render() {
  28. return (
  29. <div>
  30. <Uploader
  31. onChange={(files) => {
  32. console.log(files);
  33. this.setState({
  34. files,
  35. });
  36. }}
  37. files={this.state.files}
  38. />
  39. <WhiteSpace />
  40. <Uploader
  41. onChange={(files2) => {
  42. console.log(files2);
  43. this.setState({
  44. files2,
  45. });
  46. }}
  47. files={this.state.files2}
  48. />
  49. </div>
  50. );
  51. },
  52. });
  53. ReactDOM.render(<UploaderExample />, mountNode);

Uploader图片上传 - 图1

API

TabItem

成员说明类型可选值默认值
files图片文件数组,元素为对象,包含属性url(必选),可能还有id, orientation,以及业务需要的其它属性Array[]
onChangefiles值发生变化触发的回调Function(files)