| | |
| | | <template> |
| | | <div class="component-upload-image"> |
| | | <el-upload |
| | | multiple |
| | | :action="uploadImgUrl" |
| | | list-type="picture-card" |
| | | :on-success="handleUploadSuccess" |
| | | :before-upload="handleBeforeUpload" |
| | | :limit="limit" |
| | | :on-error="handleUploadError" |
| | | :on-exceed="handleExceed" |
| | | ref="imageUpload" |
| | | :on-remove="handleDelete" |
| | | :show-file-list="true" |
| | | :headers="headers" |
| | | :file-list="fileList" |
| | | :on-preview="handlePictureCardPreview" |
| | | :class="{hide: this.fileList.length >= this.limit}" |
| | | > |
| | | <el-upload multiple :action="uploadImgUrl" list-type="picture-card" :on-success="handleUploadSuccess" |
| | | :before-upload="handleBeforeUpload" :limit="limit" :on-error="handleUploadError" :on-exceed="handleExceed" |
| | | ref="imageUpload" :on-remove="handleDelete" :show-file-list="true" :headers="uploadHeader" :file-list="fileList" |
| | | :on-preview="handlePictureCardPreview" :class="{ hide: this.fileList.length >= this.limit }"> |
| | | <i class="el-icon-plus"></i> |
| | | </el-upload> |
| | | |
| | |
| | | 的文件 |
| | | </div> |
| | | |
| | | <el-dialog |
| | | :visible.sync="dialogVisible" |
| | | title="预览" |
| | | width="800" |
| | | append-to-body |
| | | > |
| | | <img |
| | | :src="dialogImageUrl" |
| | | style="display: block; max-width: 100%; margin: 0 auto" |
| | | /> |
| | | <el-dialog :visible.sync="dialogVisible" title="预览" width="800" append-to-body> |
| | | <img :src="dialogImageUrl" style="display: block; max-width: 100%; margin: 0 auto" /> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | |
| | | }, |
| | | // 大小限制(MB) |
| | | fileSize: { |
| | | type: Number, |
| | | type: Number, |
| | | default: 5, |
| | | }, |
| | | // 文件类型, 例如['png', 'jpg', 'jpeg'] |
| | |
| | | this.fileList = list.map(item => { |
| | | if (typeof item === "string") { |
| | | if (item.indexOf(this.baseUrl) === -1 && !isExternal(item)) { |
| | | item = { name: this.baseUrl + item, url: this.baseUrl + item }; |
| | | item = { name: this.baseUrl + item, url: this.baseUrl + item }; |
| | | } else { |
| | | item = { name: item, url: item }; |
| | | item = { name: item, url: item }; |
| | | } |
| | | } |
| | | return item; |
| | |
| | | <style scoped lang="scss"> |
| | | // .el-upload--picture-card 控制加号部分 |
| | | ::v-deep.hide .el-upload--picture-card { |
| | | display: none; |
| | | display: none; |
| | | } |
| | | |
| | | // 去掉动画效果 |
| | | ::v-deep .el-list-enter-active, |
| | | ::v-deep .el-list-leave-active { |
| | | transition: all 0s; |
| | | transition: all 0s; |
| | | } |
| | | |
| | | ::v-deep .el-list-enter, .el-list-leave-active { |
| | | ::v-deep .el-list-enter, |
| | | .el-list-leave-active { |
| | | opacity: 0; |
| | | transform: translateY(0); |
| | | } |
| | | </style> |
| | | |