110 lines
2.1 KiB
Vue
110 lines
2.1 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>
|
|
)
|
|
},
|
|
}
|