基于VUE选择上传图片并页面显示(图片可删除)
发布时间 - 2026-01-11 01:18:54 点击率:次基于VUE选择上传图片并在页面显示,图片可删除,具体内容如下

demo例子:
依赖文件:jqueryform
HTML文本内容:
<template> <div id="accident"> <div class="wrapper"> <i class="icon-pic"></i>相关照片 <button type="button" @click="change_input()">上传照片</button> <form id="addTextForm" @change="setImg($event)"> </form> </div> <div id="img-wrapper" @click="deleteImg($event)"></div> <P class="btn-wrapper"> <mt-button type="primary" @click="submit()">提交</mt-button> </P> </div> </template>
JS文本内容:
<script>
/**
* 从 file 域获取 本地图片 url
*/
function getFileUrl(obj) {
let url;
url = window.URL.createObjectURL(obj.files.item(0));
return url;
}
export default {
name: 'accident',
// 定义数据
data () {
return {
imgNum:4, //上传的照片数量,可根据实际情况自定义
}
},//定义事件
methods:{
//根据点击上传按钮触发input
change_input(){
let inputArr=$('#addTextForm input');
let add_inputId=''; //需要被触发的input
for(let i=0;i<inputArr.length;i++){
// 根据input的value值判断是否已经选择文件
if(!inputArr[i].value){ //如果没有选择,获得这个input的ID
add_inputId=inputArr[i].id;
break;
}
}
if(add_inputId){ //如果需要被触发的input ID存在,将对应的input触发
return $("#"+add_inputId).click();
}else{
alert("最多选择"+this.imgNum+"张图片")
}
},
//当input选择了图片的时候触发,将获得的src赋值到相对应的img
setImg(e){
let target=e.target;
$('#img_'+target.id).attr('src',getFileUrl(e.srcElement));
},
//点击图片删除该图片并清除相对的input
deleteImg(e){
let target=e.target;
let inputID=''; //需要清除value的input
if(target.nodeName=='IMG'){
target.src='';
inputID=target.id.replace('img_',''); //获得需要清除value的input
$('input#'+inputID).val("");
}
},
//提交信息到后台
submit(){
$("#addTextForm").ajaxSubmit({
url: this.$root.api+"/Index/staff_accident/add",
type: "post",
data: {
'total_price':this.price,
'descript':this.descript,
},
success: (data) => {
if(data.code==0){
console.log(‘提交成功');
}else{
alert('提交失败');
}
}
});
}
},
//页面加载后执行
mounted(){
for(let i=0;i<this.imgNum;i++){
//生成input框,默认为1
let my_input = $('<input type="file" name="image" />'); //创建一个input
my_input.attr('id',i); //为创建的input添加id
$('#addTextForm').append(my_input); //将生成的input追加到指定的form
//生成img,默认为1
let my_img = $('<img src="">');
my_img.attr('id', 'img_'+i);
my_img.css({"max-width":"50%","max-height":"200px"});
//添加样式,由于vue的执行机制,页面加载的时候img标签还没有生成,直接写在style样式会不生效
$('#img-wrapper').append(my_img);
}
},
}
</script>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# vue选择上传图片显示
# vue图片页面显示
# vue上传图片
# JS移动端/H5同时选择多张图片上传并使用canvas压缩图片
# PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
# js实现上传文件添加和删除文件选择框
# file控件选择上传文件确定后触发的js事件是哪个
# 浏览器图片选择预览、旋转、批量上传的JS代码实现
# select下拉选择框美化实现代码(js+css+图片)
# js实现下拉框选择要显示图片的方法
# JS实现的input选择图片本地预览功能示例
# JS实现的radio图片选择按钮效果
# vue+js实现微信上传图片选择功能
# 默认为
# 加载
# 上传
# 还没有
# 最多
# 并在
# 如果没有
# 自定义
# 实际情况
# 写在
# 创建一个
# 上传图片
# 具体内容
# 相对应
# 大家多多
# 判断是否
# 选择了
# 上传照片
# 可根据
# deleteImg
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
高端建站如何打造兼具美学与转化的品牌官网?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
如何在云主机上快速搭建多站点网站?
用v-html解决Vue.js渲染中html标签不被解析的问题
Laravel怎么在Blade中安全地输出原始HTML内容
微信小程序 五星评分(包括半颗星评分)实例代码
Windows Hello人脸识别突然无法使用
Laravel如何与Inertia.js和Vue/React构建现代单页应用
Laravel如何创建自定义Facades?(详细步骤)
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册
Python并发异常传播_错误处理解析【教程】
如何在IIS服务器上快速部署高效网站?
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
网站建设要注意的标准 促进网站用户好感度!
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
英语简历制作免费网站推荐,如何将简历翻译成英文?
如何在IIS管理器中快速创建并配置网站?
Laravel如何处理和验证JSON类型的数据库字段
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
如何基于PHP生成高效IDC网络公司建站源码?
Linux系统命令中tree命令详解
如何获取免费开源的自助建站系统源码?
Laravel如何处理异常和错误?(Handler示例)
Laravel如何实现用户注册和登录?(Auth脚手架指南)
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
Laravel如何配置和使用缓存?(Redis代码示例)
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
java ZXing生成二维码及条码实例分享
php结合redis实现高并发下的抢购、秒杀功能的实例
Laravel如何实现API版本控制_Laravel版本化API设计方案
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
魔方云NAT建站如何实现端口转发?
图册素材网站设计制作软件,图册的导出方式有几种?
制作旅游网站html,怎样注册旅游网站?
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
香港服务器租用每月最低只需15元?
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
android nfc常用标签读取总结
微信小程序 HTTPS报错整理常见问题及解决方案
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
魔毅自助建站系统:模板定制与SEO优化一键生成指南
html如何与html链接_实现多个HTML页面互相链接【互相】
如何在景安服务器上快速搭建个人网站?

