位置: IT常识 - 正文

使用vant-uploader上传照片无法删除的解决(使用筷子就餐会不会传染乙肝病毒)

编辑:rootadmin
这篇文章主要介绍了使用vant-uploader上传照片无法删除的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教 目录

推荐整理分享使用vant-uploader上传照片无法删除的解决(使用筷子就餐会不会传染乙肝病毒),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:使用的英文,使用伪造变造机动车驾驶证扣几分,使用时间,使用权资产,使用时间,使用灭火器时要对准火焰的什么部位喷射,使用伪造变造机动车驾驶证扣几分,使用伪造变造机动车驾驶证扣几分,内容如对您有帮助,希望把文章链接给更多的朋友!

vant-uploader上传照片无法删除解决方法一些关于vant-uploader的前端问题vant-uploader上传照片无法删除

在微信小程序使用vant-uploader上传图片时,发现点击右上角的小叉叉无法删除图片,查看了源码:

(源码位置:miniprogram\miniprogram_npm@vant\weapp\uploader\index.js)

deleteItem: function (event) {var index = event.currentTarget.dataset.index;this.$emit('delete',__assign(__assign({}, this.getDetail(index)), {file: this.data.fileList[index],}));},

发现里面点击删除只是向父组件传递了一个名为’delete’的事件,该事件包含点击的图片的下标。为了达到删除的目的,我们还需自己定义对应的删除函数。

解决方法

在XML里获取delete事件,其中’deleteImg’为自定义的删除照片的操作:

<van-uploader catch:delete="deleteImg" preview-></van-uploader>

在JS里,写自己需要进行的操作:

deleteImg(event){let index= event.detail.indexconsole.log(index)//输出的就是图片所在fileList的下标,自己根据需要进行操作就行},一些关于vant-uploader的前端问题

首先要引入vant和vue,参考官方地址。vant-uploader的定义,实现和引入详见官方地址,这里不再一一列举。

使用vant-uploader上传照片无法删除的解决(使用筷子就餐会不会传染乙肝病毒)

本文写一些前端开发方面遇到的问题。

1.afterRead和beforeRead有时不能同时执行的问题。

解决方案:beforeRead要执行返回True之后才可以执行afterRead 。

<van-uploader :before-read="beforeRead" :after-read="afterRead" />export default {  methods: {    beforeRead(file) {      if (file.type !== 'image/jpeg') {        Toast('请上传 jpg 格式图片');        return false;                    }      return true;              },   afterRead(file) {      // 此时可以自行将文件上传至服务器      console.log(file);              },          },};

van-uploader允许上传的文件类型默认为image/*,一般直接写afterRead就可以了。

2.实现实时向服务器提交,删除文件。

项目需求是上传和删除与服务器同步,删除图片的同时需要从服务器端也删除图片。

由于vant-uploader本质也是image+input实现的。

原有的方法是给input直接绑定id,用ajaxFileUploader方法实时更新后台的图片文件,缺点是一次性只能选择一张图片。

于是我们可以动态给vant-uploader控件里的input框动态添加id,以此实现delete时候后端也可以即时删除图片的操作。

function delImg(index){let ind = vue.$data.imgContList.indexOF(index);vue.$data.imgContList.splice(ind,1);console.log(vue.$data.imgContList);let delUploader =document/getElementByClassName("van-uploader__preview-delete");for(let i=0;i<vue.$data.imgContList.length;i++){$(delUploader[i]).removeAttr("id").attr("id","removeClose_4_"+(vue.$data.imgCountList[i]));$(delUploader[i]).removeAttr("onclick").attr("onclick","delImg("+(vue.$data.imgCountList[i])+")");}}

3.一些样式的修改具体参考官网api或者直接修改vant.css里关于uploader的css样式即可。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。

本文链接地址:https://www.jiuchutong.com/zhishi/304514.html 转载请保留说明!

上一篇:Mybatis-Plus使用@TableField实现自动填充日期(mybatis plus 用法)

下一篇:phpcms如何配置数据库文件(phpcms默认密码)

  • 这10个程序化营销关键词,2017年你一定要记住(程序化例子)

  • 平板充不进电是什么原因苹果(平板充不进电是什么原因)(平板充不进电是什么原因有反应但充不进)

  • 钉钉直播自动对焦在哪里关(钉钉直播自动对焦)

  • 抖音里草稿箱视频怎么保存到相册里(抖音里草稿箱视频怎么删除)

  • 微信重新加对方知道吗(微信重新加对方他人可以看朋友圈吗)

  • 苹果信任后验证无反应(苹果信任后验证失败)

  • 手机是4g的网 5g的流量可以用吗(手机4g网和5g网有什么区别)

  • u盘插在荣耀9上没反应(荣耀外接u盘)

  • 抖音设为私密账号别人能看到吗(抖音设为私密账号能看到访客吗)

  • 苹果手机别人打电话来为什么没有显示(苹果手机别人打电话正在通话中)

  • 笔记本的del键在哪(笔记本del键坏了怎么办)

  • 朋友圈点赞记录在哪儿查找(怎么看给别人朋友圈点赞记录)

  • 一个手机可以登几个微信(一个手机可以登录三个微信号吗)

  • 苹果手机拍视频没声音(苹果手机拍视频怎么把音乐录进去)

  • 显卡能升级吗(显卡能升级吗需要什么条件)

  • qq拍照有声音怎么设置(qq拍照声音怎么关闭ios)

  • 爱奇艺显示互动播放是什么意思(爱奇艺显示互动加载失败)

  • 2017款ipad和air2区别(2017款ipad与air2)

  • 电脑平均值怎么操作(电脑平均值怎么算)

  • 手机qq怎么分身(荣耀手机qq怎么分身)

  • 闲鱼对方评价能删除吗(闲鱼评价了还能评价吗)

  • qq小火花掉了怎么补上(qq小火花掉了怎么找回来)

  • 华为p30有耳机孔吗(华为p30耳机孔型号)

  • 苹果8p支持5g吗(苹果8p支持5g网络吗?)

  • 蚂蚁森林绿色能量不显示克数(蚂蚁森林绿色能量球怎么来的)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络