仿照el-upload 封装自己的上传控件(el-upload 移动端无法吊起相机)

input选择图片的那个选择在h5的时候在去年下半年突然无法无法出现唤醒相机的选项  不知道出现的原因 

发现el-upload作为h5的时候无法吊起相机 

又因为需要对服务端地址图片进行回显(处于编辑功能的情况下 非新增 新增el-upload 可以实现回显)  两个功能el-upload都不能很好的支持 所以自己仿照el-upload 做了上传组件的封装

具体代码如下图所示

<template><div style="display: flex; height: 100%;"><div v-for="(item,idx) in httpLits" :key="item" class="listitem"><div class="inner"><img :src="`${item}`"><div class="delete" @click="delimg(idx)"><i class="el-icon-delete"></i></div></div></div><div class="inputbox" v-if="httpLits.length !== 5" :class="httpLits.length > 0 ? 'listitem' : ''"><i class="ri-camera-fill"></i><span>{{ httpLits.length === 0 ? '添加图片' : `还可添加${5 - httpLits.length}张`}}</span><input v-if="inputshow" type="file" name="image" :accept="'image/*'" @change="onchangeImgFun"style="position: absolute; width: 100%;height: 100%;opacity: 0;" /></div></div>
</template><script>
import axios from 'axios'
import _ from "lodash"
export default {props: ['value'],data() {return {inputshow: true,httpLits: [],}},created() {this.httpLits=_.cloneDeep(Array.isArray(this.value) ?this.value:[])},methods: {onchangeImgFun(e) {console.log(e.target.files)var file = e.target.files[0];this.inputshow = falselet formData = new FormData()formData.append('image', file)axios({method: 'post',url: `xxxx`,data: formData},).then(res => {this.httpLits.push(res.data.data.image)this.$emit('input', this.httpLits)this.inputshow = true}).catch(() => {alert('上传失败')})},// 删除图片delimg(idx) {this.httpLits.splice(idx, 1)this.$emit('input', this.httpLits)},}}
</script><style lang="scss" scoped>
.inputbox {height: 4.125rem;line-height: unset;background-color: #F2F6F8;width: calc(100vw - 1.75rem);border-radius: 6px;border-color: #f2f6f8;display: flex;flex-direction: column;align-items: center;justify-content: center;position: relative;box-sizing: border-box;i {font-size: 24px;color: #4E5969;}span {font-weight: 400;font-size: 12px;color: #86909C;}
}.listitem {width: calc(100% / 5);height: 100%;padding: 1px 4px;box-sizing: border-box;.inner {border-radius: 4px;width: 100%;height: 100%;overflow: hidden;position: relative;img {width: 100%;height: 100%;}.delete {position: absolute;right: 0;bottom: 0;width: 20px;height: 20px;z-index: 9999;background-color: #ffffff44;border-radius: 12%;display: flex;align-items: center;justify-content: center;i {color: #f53f3f;font-size: 12px;}}}span {font-weight: 400;font-size: 10px;color: #86909C;}}
</style>

效果图如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/11768.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如文所示:

影响 ConnectWise 的 ScreenConnect 远程桌面访问产品的严重漏洞已被广泛利用来传播勒索软件和其他类型的恶意软件。 ConnectWise 于 2 月 19 日通知客户&#xff0c;它已发布针对关键身份验证绕过缺陷和高严重性路径遍历问题的补丁。该安全漏洞当时没有 CVE 标识符。第二天&am…

绘唐3启动器怎么启动一键追爆款3正式版

绘唐3启动器怎么启动一键追爆款3正式版 工具入口 一.文案助手&#xff1a; 【注意&#xff01;&#xff01;】如果图片无显示&#xff0c;一般情况下被杀毒拦截&#xff0c;需关闭杀毒软件或者信任文件路径。 win10设置排除文件&#xff1a; 1.【新建工程】使用前先新建工程…

谷歌Gboard应用的语言模型创新:提升打字体验的隐私保护技术

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

blender cell fracture制作破碎效果,将一个模型破碎成多个模型

效果&#xff1a; 1.打开编辑-》偏好设置。搜索cell&#xff0c;勾选上如下图所示的&#xff0c;然后点击左下角菜单里的保存设置。 2.选中需要破碎的物体&#xff0c;按快捷键f3&#xff08;快速搜索插件&#xff09;&#xff0c;搜索cell fracture。 3.调整自己需要的参数配置…

广东省网络安全竞赛部分web,misc wp

我的队伍只做了5题&#xff0c;还是太菜了&#xff0c;本来不想发的&#xff0c;但是写都写了&#xff0c;还是水一篇博客吧 这里是我们队的wp misc1 给了一个压缩包&#xff0c;解压需要密码&#xff0c;用纯数字密码没跑出来&#xff0c;感觉可能不是要强跑&#xff0c;看…

今天开发了一款软件,我竟然只用敲了一个字母(文末揭晓)

软件课题&#xff1a;Python实现打印100内数学试题软件及开发过程 一、需求管理&#xff1a; 1.实现语言&#xff1a;Python 2.打印纸张&#xff1a;A4 3.铺满整张纸 4.打包成exe 先看效果&#xff1a; 1. 2.电脑打印预览 3.打印到A4纸效果&#xff08;晚上拍的&#x…

Java后端的接口参数两个interger 类型情况解决

get请求 &#xff0c;对应请求头 RequestParm, post请求&#xff0c; 对应请求体 &#xff0c;RequestBody 两个Integer参数情况 GetMapping("/insertStaffClass")public R<Void> insertStaffClass(RequestParam Integer staffId,RequestParam List<Integ…

Node.js全栈:从一个简单的例子开始

第一章&#xff1a;从一个简单的例子开始第二章&#xff1a;看官方文档的艺术第三章&#xff1a;浏览器显示一个网页 首先&#xff0c;在VSCode编辑器中打开一个没有任何文件的空目录&#xff0c;然后创建一个package.json文件。 为了方便大家复制&#xff0c;我把文件内容放到…

Pytorch的torch.nn.functional.cross_entropy的ignore_index细解

作用 ignore_index用于忽略ground-truth中某些不需要参与计算的类。假设有两类{0:背景&#xff0c;1&#xff1a;前景}&#xff0c;若想在计算交叉熵时忽略背景(0)类&#xff0c;则可令ignore_index0&#xff08;同理忽略前景计算可设ignore_index1&#xff09;。 代码示例 i…

使用Flask的send_file方法实现文件下载功能

文章目录 什么是send_file方法&#xff1f;如何在Flask应用中使用send_file方法&#xff1f;示例拓展处理文件不存在的情况设置下载文件的名称实现文件下载的权限控制 结论 在Web开发中&#xff0c;经常需要实现文件下载功能&#xff0c;而Python的Flask框架提供了方便的send_f…

华为手机恢复出厂设置后怎么还原数据?该如何预防数据丢失?

华为手机恢复出厂设置是将手机恢复到出厂时的初始状态&#xff0c;同时会删除所有用户数据和个人设置。如果不做任何预防措施&#xff0c;在恢复出厂设置后&#xff0c;您将丢失手机上的所有数据。那华为手机恢复出厂设置后怎么还原数据呢&#xff1f;以下是关于如何在华为手机…

新的语言学习系统: 记忆镶嵌

摘要 记忆镶嵌是由多个关联记忆网络协同工作来完成感兴趣的预测任务。与transformer类似,记忆镶嵌具有组合能力和上下文学习能力。与transformer不同,记忆镶嵌以相对透明的方式实现这些能力。该研究在玩具示例上展示了这些能力,并且还表明记忆镶嵌在中等规模语言建模任务上的表…

头歌(EduCoder):数据挖掘算法原理与实践 -- 决策树

【头歌】机器学习实训代码 第一关&#xff1a;决策树算法思想 1、下列说法正确的是&#xff1f;&#xff08; AB &#xff09; A、训练决策树的过程就是构建决策树的过程B、ID3算法是根据信息增益来构建决策树C、C4.5算法是根据基尼系数来构建决策树D、决策树模型的可理解性不…

YOLOv9全网最新改进系列::YOLOv9完美融合双卷积核(DualConv)来构建轻量级深度神经网络,目标检测模型有效涨点神器!!!

YOLOv9全网最新改进系列&#xff1a;&#xff1a;YOLOv9完美融合双卷积核&#xff08;DualConv&#xff09;来构建轻量级深度神经网络,目标检测模型有效涨点神器&#xff01;&#xff01;&#xff01; YOLOv9原文链接戳这里&#xff0c;原文全文翻译请关注B站Ai学术叫叫首er …

Docker 的 Busybox 操作系统镜像

BusyBox是一个遵循GPL协议、以自由软件形式发行的应用程序。 Busybox在单一的可执行文件中提供了精简的Unix工具集&#xff0c;可运行于多款POSIX环境的操作系统&#xff0c;例如Linux&#xff08;包括Android&#xff09;、Hurd、FreeBSD等等。 由于BusyBox可执行文件的文件…

石墨烯材料商汉烯科技授权世强硬创,代理产品具备高导热/导电特点

近日&#xff0c;武汉汉烯科技有限公司&#xff08;下称“汉烯科技”&#xff0c;英文&#xff1a;HANXI TECH&#xff09;与世强先进&#xff08;深圳&#xff09;科技股份有限公司&#xff08;下称“世强先进”&#xff09;达成授权代理合作&#xff0c;面向锂电新能源、电子…

【基础技能】Windows常用快捷键

最近做知识管理&#xff0c;梳理了下个人技能&#xff0c;存在好多基础技能都是一知半解&#xff0c;用的时候都是现搜现查&#xff0c;没有形成一个完整的知识体系&#xff0c;导致一些基础不牢靠&#xff0c;需要再次筑基&#xff01; 于是就翻阅了微软的官网&#xff0c;撸…

51单片机GPS+sim800c GSM定位短信LCD1602液晶显示 原理图+PCB+源码

目录 1、实物图 2、原理图 ​3、PCB​编辑 4、程序 资料下载地址&#xff1a;51单片机GPSsim800c GSM定位短信LCD1602液晶显示 原理图PCB源码 1、实物图 2、原理图 3、PCB 4、程序 #include "common.h" #include "uart.h" #include "gps.h&…

简单易懂的HashMap使用指南:从入门到精通

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

如何查看Spring Boot 默认的数据库连接池类型

使用的Spring Boot的版本&#xff1a;2.3.4.RELEASE 先给出答案&#xff1a;com.zaxxer.hikari.HikariDataSource 怎么知道的呢&#xff1f; 新建一个Spring boot项目&#xff1a;springbootTest 配置pom.xml <dependencies><!-- SpringBoot 核心包 --><de…