账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue.js删除预览图片无效问题。
    40
    0

    vue.js小白,正在尝试做一个多图预览删除并上传的功能,已经实现了单图上传预览,删除还遇到些问题,希望大牛们指点迷津,附上html,vue.js的代码。
    主要问题:选择多图预览时只显示单图,删除单图时不知道如何获取图片的索引,尝试用过v-for,但是在<div class="col-sm-10">中加上v-for="(key,image) in images"图片预览就不成功
    html:

                <div class="form-group">
                    <div class="col-sm-2 control-label">图片预览</div>
                    <div class="col-sm-10">
                        <img src="image" id="pic" style="height: 267px; width: 267px;"/>
                        <a href="#"
                                style="position: absolute;" @click='delImage(key)'> 
                                <span class="glyphicon glyphicon-remove"></span>
                        </a>
                        <button @click="removeImage">移除全部图片</button>
                        <button @click='uploadImage'>上传</button>
                    </div>
                </div>
    
                <div class="form-group">
                    <div class="col-sm-2 control-label">图片上传</div>
                    <div class="col-sm-10">
                    <input type="file" id="uploadFile" name="uploadFile" @change="onFileChange" multiple="multiple" class="form-control" >
                    </div>
                </div>

    vue.js:

        onFileChange(e) {
            var files = e.target.files || e.dataTransfer.files;
            if (!files.length)
            return; 
            this.createImage(files);
        },
        createImage(file) {
            var image = new Image();         
            var vm = this;
            var leng=file.length;
            for(var i=0;i<leng;i++){
                var reader = new FileReader();
                var uploadFile  = document.getElementById("uploadFile").files[0];
                reader.readAsDataURL(uploadFile);
                reader.onload =function(e){
                      $("#pic").attr("src", e.target.result);
                };                 
            }
        },
        delImage:function(index){
            this.images.shift(index);
            
        },
        removeImage: function(e) {

    // this.images = [];

            $("#pic").remove();
        },
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 顏2。baby 普通会员 1楼

      在 Vue.js 中,你可以在图片上传后删除预览图片。以下是一个示例:

      ```html

      ```

      在这个示例中,我们首先在表单中添加一个文件输入,然后在按钮的点击事件中,我们获取所有上传的文件,然后删除每个文件。

      注意,这个示例假设你已经有一个名为 file 的对象,它包含一个数组,其中包含所有上传的文件。在这个示例中,我们假设每个文件都是一个对象,其中包含一个 name 属性,表示文件的名称,一个 url 属性,表示文件的URL,以及一个 multiple 属性,表示文件是多选的。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部