一个上传工具,拥有了两套预设的使用方法,并提供了一系列丰富的方法来让你自定义视图和交互。
/**
* Author: ひまわり(dtysky<dtysky@outlook.com>)
* Github: https://github.com/dtysky
* Created: 2017/3/6
*/
import React, {Component} from 'react';
import {Upload, Checkbox} from 'hana-ui';
import ExampleBlock from 'demo/ExampleBlock';
/**
* @en
* Base
*
* Base example with tow predefined view type and mode.
*
* @cn
* 基础
*
* 基础例子,展示了两种不同的显示类型以及几种模式。
*
*/
export default class ExampleBase extends Component {
state = {
baseAuto: false,
baseMultiple: true,
boxAuto: false,
boxMultiple: true
};
render() {
const {
baseAuto,
baseMultiple,
boxAuto,
boxMultiple
} = this.state;
return (
<div>
<ExampleBlock
en={
<p>View: base</p>
}
cn={
<p>显示类型: base</p>
}
>
<Checkbox
style={{
marginRight: 24
}}
label={'auto'}
checked={baseAuto}
onChange={() => this.setState({baseAuto: !baseAuto})}
/>
<Checkbox
label={'multiple'}
checked={baseMultiple}
onChange={() => this.setState({baseMultiple: !baseMultiple})}
/>
<div
style={{
width: 320
}}
>
<Upload
auto={baseAuto}
multiple={baseMultiple}
url={'/upload'}
withCredentials
/>
</div>
</ExampleBlock>
<ExampleBlock
en={
<p>View: box</p>
}
cn={
<p>显示类型: box</p>
}
>
<Checkbox
style={{
marginRight: 24
}}
label={'auto'}
checked={boxAuto}
onChange={() => this.setState({boxAuto: !boxAuto})}
/>
<Checkbox
label={'multiple'}
checked={boxMultiple}
onChange={() => this.setState({boxMultiple: !boxMultiple})}
/>
<div
style={{
width: 680,
height: 240
}}
>
<Upload
view={'box'}
auto={boxAuto}
multiple={boxMultiple}
url={'/upload'}
withCredentials
/>
</div>
</ExampleBlock>
</div>
);
}
}
基础例子,展示了两种不同的显示类型以及几种模式。
显示类型: base
显示类型: box
/**
* Author: ひまわり(dtysky<dtysky@outlook.com>)
* Github: https://github.com/dtysky
* Created: 2017/3/9
*/
import React, {Component} from 'react';
import {Upload, Checkbox, Text} from 'hana-ui';
import ExampleBlock from 'demo/ExampleBlock';
/**
* @en
* Methods
*
* hana provides some methods to make file upload more flexible.
*
* Property `type` could constants the file type when selecting,
* and the `disable` could disable this component.
* If you want more constants after selecting, please check the `filterFileObj`.
*
* Use `parseFileObj` to add your custom attributes to file-object.
*
* @cn
* 方法
*
* hana提供了一些方法来使得文件上传工作更加丰富多彩。
*
* `type`属性可以约束文件在`选择时`的类型,`disabled`则可以禁用上传组件。
* 如果想在做出选择后进行更多的约束,你可以使用`filterFileObj`方法来进行过滤。
*
* `parseFileObj`方法则可以为文件对象添加自定义的属性,比如传输时的数据(详见属性定义)。
*/
export default class ExampleMethods extends Component {
state = {
type: '*',
disabled: false,
enableFilter: false,
filterNameRegex: '.*\\.png