74 lines
1.7 KiB
Markdown
74 lines
1.7 KiB
Markdown
|
<cn>
|
||
|
#### 照片墙
|
||
|
用户可以上传图片并在列表中显示缩略图。当上传照片数到达限制后,上传按钮消失。
|
||
|
</cn>
|
||
|
|
||
|
<us>
|
||
|
#### Pictures Wall
|
||
|
After users upload picture, the thumbnail will be shown in list. The upload button will disappear when count meets limitation.
|
||
|
</us>
|
||
|
|
||
|
```html
|
||
|
<template>
|
||
|
<div class="clearfix">
|
||
|
<a-upload
|
||
|
action="//jsonplaceholder.typicode.com/posts/"
|
||
|
listType="picture-card"
|
||
|
:fileList="fileList"
|
||
|
@preview="handlePreview"
|
||
|
@change="handleChange"
|
||
|
>
|
||
|
<div v-if="fileList.length < 3">
|
||
|
<a-icon type="plus" />
|
||
|
<div class="ant-upload-text">Upload</div>
|
||
|
</div>
|
||
|
</a-upload>
|
||
|
<a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">
|
||
|
<img alt="example" style="width: '100%'" :src="previewImage" />
|
||
|
</a-modal>
|
||
|
</div>
|
||
|
</template>
|
||
|
<script>
|
||
|
export default {
|
||
|
data () {
|
||
|
return {
|
||
|
previewVisible: false,
|
||
|
previewImage: '',
|
||
|
fileList: [{
|
||
|
uid: -1,
|
||
|
name: 'xxx.png',
|
||
|
status: 'done',
|
||
|
url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
|
||
|
}],
|
||
|
}
|
||
|
},
|
||
|
methods: {
|
||
|
handleCancel() {
|
||
|
this.previewVisible = false
|
||
|
},
|
||
|
handlePreview(file) {
|
||
|
this.previewImage = file.url || file.thumbUrl
|
||
|
this.previewVisible = true
|
||
|
},
|
||
|
handleChange({ fileList }) {
|
||
|
this.fileList = fileList
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
</script>
|
||
|
<style scoped>
|
||
|
/* you can make up upload button and sample style by using stylesheets */
|
||
|
.ant-upload-select-picture-card i {
|
||
|
font-size: 32px;
|
||
|
color: #999;
|
||
|
}
|
||
|
|
||
|
.ant-upload-select-picture-card .ant-upload-text {
|
||
|
margin-top: 8px;
|
||
|
color: #666;
|
||
|
}
|
||
|
</style>
|
||
|
```
|
||
|
|
||
|
|