You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ant-design-vue/components/vc-upload/demo/simple.jsx

110 lines
2.1 KiB

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>
)
},
}