仿照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.【新建工程】使用前先新建工程…

C语言循环队列

以下是一个使用 C 语言实现的简单循环队列示例&#xff1a; #include <stdio.h> #include <stdlib.h>#define MAX_SIZE 5// 定义循环队列结构体 typedef struct {int items[MAX_SIZE];int front, rear; } Queue;// 初始化队列 void initQueue(Queue *q) {q->fr…

维修贝加莱 MAHLO 5PP320.1043-K08 控制器 主板 工控电脑 触摸屏深圳捷达工控维修

贝加莱HMI面板5PP320.1043-39 扩展产品类型&#xff1a;HMI/触摸屏 产品编号&#xff1a;5PP320.1043-39 B&R 类型名称&#xff1a;HMI/触摸屏 描述 电源面板 PP320 BIOS&#xff1b; 10.4英寸VGA彩色TFT显示屏&#xff0c;带触摸屏&#xff08;电阻式&#xff09;&#xf…

谷歌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;看…

[力扣题解] 343. 整数拆分

题目&#xff1a;343. 整数拆分 思路 动态规划 状态转移方程&#xff1a; 3个数取最大 自己&#xff1b;拆成2个数&#xff1b;先拆一个数i - j&#xff0c;剩下的拆分交给前面f[j]&#xff1b; 代码 // 注意&#xff1a;没有给定k的值, 是自己定的 // f[i] : 拆成i个的最…

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

软件课题&#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;我把文件内容放到…

vue elementui select多选下拉库组件鼠标移出隐藏下拉框

elementui select 多选下拉库组件 鼠标移出 隐藏下拉框 template: <el-selectmultipleclearablefilterablecollapse-tags:popper-append-to-body"false"placeholder"请选择"v-model"value"class"searchFormItemWidth"style"…

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、决策树模型的可理解性不…

MySQL性能优化实战

目录 一、安装说明 1.1 RPM 安装包和 Tar 安装包的区别&#xff1f; 1.2 安装后需要配置哪些内容&#xff1f; 1.3 my.cnf 文件初始需要配置哪些内容&#xff1f; 1.4 MySQL 的版本选择 1.5 MySQL 之外的选择 二、MySQL引擎选择和表设计上的优化 2.1 Myisam 和 InnoDB …

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

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

AJAX笔记及工作流程[复习]

简介 浏览器与服务器之间&#xff0c;采用 HTTP 协议通信。用户在浏览器地址栏键入一个网址&#xff0c;或者通过网页表单向服务器提交内容&#xff0c;这时浏览器就会向服务器发出 HTTP 请求。 1999年&#xff0c;微软公司发布 IE 浏览器5.0版&#xff0c;第一次引入新功能&…