<el-table-column label="图片" align="center" prop="pic" width="100"> <template slot-scope="scope"> <el-popover placement="top-start" trigger="hover"> <div class="row_reserve"><img class="big-img" :src="scope.row.pictureUrl"/></div> <div slot="reference"><img class="td-img" :src="scope.row.pictureUrl" :width="80" :height="80" /></div> <meta name="referrer" content="no-referrer"> </el-popover> </template> </el-table-column> <el-form-item label="图片" prop="pictureUrl"> <image-upload v-model="form.pictureUrl" /> </el-form-item> 修改代码 图片上传后图片开裂
时间: 2023-10-08 08:08:48 浏览: 166
EL表达式处理带图片内容的显示问题
4星 · 用户满意度95%
你可以尝试修改代码中的图片上传部分,以解决图片上传后图片开裂的问题。具体的修改建议如下:
在 `<image-upload>` 组件中,添加一个 `:before-upload` 的事件处理函数,用于在上传前对图片进行处理。在该事件处理函数中,可以使用 `URL.createObjectURL` 方法来生成一个临时的图片URL,然后将该URL赋值给 `form.pictureUrl`,以确保上传后的图片不会开裂。
下面是修改后的代码示例:
```html
<el-form-item label="图片" prop="pictureUrl">
<image-upload v-model="form.pictureUrl" :before-upload="handleBeforeUpload" />
</el-form-item>
```
```javascript
methods: {
handleBeforeUpload(file) {
return new Promise((resolve) => {
const reader = new FileReader();
reader.onload = (event) => {
const temporaryImageUrl = event.target.result;
this.form.pictureUrl = temporaryImageUrl;
resolve(false); // 阻止上传,不会将文件发送到服务器
};
reader.readAsDataURL(file);
});
},
},
```
这样修改后,上传图片时会先将图片转成临时的DataURL,并赋值给 `form.pictureUrl`,从而避免了图片开裂的问题。
阅读全文