106 lines
2.0 KiB
Vue
106 lines
2.0 KiB
Vue
import Upload from '../index';
|
|
|
|
export default {
|
|
data() {
|
|
return {
|
|
destroyed: false,
|
|
};
|
|
},
|
|
methods: {
|
|
destroy() {
|
|
this.destroyed = true;
|
|
},
|
|
},
|
|
render() {
|
|
if (this.destroyed) {
|
|
return null;
|
|
}
|
|
const propsObj = {
|
|
action: '//jsonplaceholder.typicode.com/posts/',
|
|
data: { a: 1, b: 2 },
|
|
headers: {
|
|
Authorization: 'xxxxxxx',
|
|
},
|
|
multiple: true,
|
|
beforeUpload(file) {
|
|
console.log('beforeUpload', file.name);
|
|
},
|
|
};
|
|
const propsEvent = {
|
|
start(file) {
|
|
console.log('start', file, file.name);
|
|
},
|
|
success(file) {
|
|
console.log('success', file);
|
|
},
|
|
progress(step, file) {
|
|
console.log('progress', Math.round(step.percent), file.name);
|
|
},
|
|
error(err) {
|
|
console.log('error', err);
|
|
},
|
|
};
|
|
const uploaderProps = {
|
|
props: {
|
|
...propsObj,
|
|
},
|
|
on: {
|
|
...propsEvent,
|
|
},
|
|
ref: 'inner',
|
|
};
|
|
const uploaderProps1 = {
|
|
props: {
|
|
...propsObj,
|
|
componentTag: 'div',
|
|
},
|
|
on: {
|
|
...propsEvent,
|
|
},
|
|
};
|
|
const style = `
|
|
.rc-upload-disabled {
|
|
opacity:0.5;
|
|
`;
|
|
return (
|
|
<div
|
|
style={{
|
|
margin: '100px',
|
|
}}
|
|
>
|
|
<h2>固定位置</h2>
|
|
|
|
<style>{style}</style>
|
|
|
|
<div>
|
|
<Upload {...uploaderProps}>
|
|
<a>开始上传</a>
|
|
</Upload>
|
|
</div>
|
|
|
|
<h2>滚动</h2>
|
|
|
|
<div
|
|
style={{
|
|
height: '200px',
|
|
overflow: 'auto',
|
|
border: '1px solid red',
|
|
}}
|
|
>
|
|
<div
|
|
style={{
|
|
height: '500px',
|
|
}}
|
|
>
|
|
<Upload {...uploaderProps1} component="div" style={{ display: 'inline-block' }}>
|
|
<a>开始上传2</a>
|
|
</Upload>
|
|
</div>
|
|
</div>
|
|
|
|
<button onClick={this.destroy}>destroy</button>
|
|
</div>
|
|
);
|
|
},
|
|
};
|