基于VUE选择上传图片并在页面显示(图片可删除)

demo例子:

 

依赖文件 :

 

http://files.cnblogs.com/files/zhengweijie/jquery.form.rar

 

 

 

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(‘提交成功’);
$("#addTextForm input").val('');

                                 $('div#img-wrapper img').attr('src','');

                           }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>
复制代码

 

 
 
 
### 回答1: 基于Vue的大学社团管理系统源码能够提供一个完整的社团管理平台,方便学生和社团管理者进行信息共享、活动管理和成员管理等功能。该系统源码包含了前端Vue框架和后端服务器端技术,实现了前后端分离的架构。以下是该系统的主要功能和特点: 1. 用户注册与登录:学生可以通过注册账号,并使用账号登录系统,以便参与社团管理和活动。 2. 社团管理:该系统提供了社团信息管理功能,包括社团创建、编辑和删除等,可以方便地管理各个社团的基本信息和介绍。 3. 活动管理:学生和社团管理者可以创建、编辑和删除社团活动,同时可以查看和报名参加其他社团的活动,方便了活动的组织和参与。 4. 成员管理:社团管理者可以管理社团成员,包括添加、删除和编辑成员信息,同时可以对成员的权限进行管理,方便社团内部的沟通和组织。 5. 照片和文件管理:用户可以上传和管理社团活动的照片和相关文件,方便整理和共享。 6. 通知和消息推送:系统可以向用户发送通知和消息,包括社团活动变更、成员加入申请等,方便用户及时获取相关信息。 7. 数据统计与分析:系统可以对社团活动和成员进行数据统计和分析,包括活动参与人数统计、成员参与活动次数等,方便管理者了解社团的运营情况。 该大学社团管理系统源码基于Vue开发,采用了现代化的前后端分离架构,前端使用了Vue框架和相关UI库,后端使用了Node.js和MongoDB等技术,具有良好的用户界面和可扩展性。通过该系统,大学社团的管理工作将变得更加方便和高效。 ### 回答2: 基于Vue的大学社团管理系统源码是一个使用Vue.js框架开发的大学社团管理系统的源代码。这个系统可以帮助大学进行社团的管理,包括社团信息的录入、社员管理、活动管理等功能。 该系统的源码使用了Vue.js作为前端框架,通过Vue组件的方式来构建系统的各个功能模块。Vue.js提供了丰富的工具和组件,使得开发者可以更加高效地开发出交互性强、响应式的前端页面。 在该系统的源码,使用了Vue Router来进行页面路由的管理,通过定义不同路由来实现不同功能页面之间的切换。同时,还使用了Vuex来进行状态管理,方便不同组件之间的通信和数据共享。 除了Vue.js之外,该系统的源码还使用了其他的前端技术,例如HTML、CSS和JavaScript。HTML用于构建页面的结构,CSS用于美化页面的样式,JavaScript用于实现页面的交互逻辑。 总的来说,基于Vue的大学社团管理系统源码是一个使用Vue.js框架开发的大学社团管理系统的源代码。它具有丰富的功能和高度可扩展性,可以帮助大学更好地管理和组织社团活动。该系统的源码可以作为学习Vue.js和前端开发的参考,并可以根据实际需求进行二次开发和定制。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值