微信小程序配置上传多个u-upload上传

chatgpt/2023/9/24 1:52:03

微信小程序配置上传多个u-upload上传

使用的是uView框架 微信小程序配置上传多个u-upload上传图片
场景需求:根据PC端配置项追加图片配置 小程序根据配置的图片数量,图片名称,进行上传图片
难度在于 我们不知道用户会追加多少个图片配置字段

在这里插入图片描述

分析

这里我们肯定是循环多个 u-upload 那么我们需要知道上次的地方和位置

<u-upload ></u-upload>

在这里插入图片描述

实现

HTML

<view class="item" :label="item.name" v-for="(item,i) in attachment" :key="i":required='item.required'><u-upload :ref="'uAttac4'" action="false" :show-tips="false" :max-count="item.size":file-list="[]" @on-remove="removeuAttac"  @on-choose-complete="uAttacUpload(item.name,'imgs'+String(i),item.required)" @on-change="attacChange"></u-upload></view>

JS

  • 首先从后端获取 配置追加图片的信息
async getApi() {this.attachment = [] // 初始化数组let data = await api() // 获取后端配置信息this.attachment = data.datathis.attachment.forEach((item,index)=>{this.newImgs[`imgs${index}`] = [] // 这里我们需要记录有多少个图片配置})},

在这里插入图片描述

  • 属性
    首先分析用户点击时先进行获取到 点击的是哪个配置字段的信息再进行赋值信息
    通过 @on-choose-complete 先拿到点击的数据 进行记录
async uAttacUpload(name,index,required) {  这里都是记录数据用的this.imgName = indexthis.recordName = namethis.imgRequired = required}
ttacUpload(index,list){this.newImgs[this.imgName] = list // 进行赋值},

通过 @on-change 属性进行赋值

//  图片配置async attacChange(resa, index, lists,){const data = await Oss(lists[index]["url"]);if (data.code === 0) {this.newImgs[this.imgName][index].url = data.date.url // 将url地址改成 oss地址this.newAttachment.push({// 这里我们讲添加的图片存储到新的数组里面type: "image",name: this.recordName, // 做好记录url: data.date.url,}) } else {uni.showToast({title: "信息错误",icon: 'none'})}},
  • 删除功能
removeuAttac(index){let newArr = []let newUrl = []this.attachment.forEach((item,index)=>{ // 拿到所有的数据newArr =[...newArr,...this.newImgs[`imgs${index}`]] })newUrl = newArr.map((item)=> {  // 拿到url存到新的数组里面return item.url})this.newAttachment.forEach((item,index)=>{if(!newUrl.includes(item.url)){this.newAttachment.splice(index,1) // 找到删除掉}})},

在这里插入图片描述
以上就是微信小程序配置上传多个u-upload上传感谢大家的阅读
如碰到其他的问题 可以私下我 一起探讨学习
如果对你有所帮助还请 点赞 收藏谢谢~!
关注收藏博客 作者会持续更新…

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

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

资深测试老鸟,APP性能测试-全覆盖测试点(详细整理)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 android的app性能…

Day08-作业(MySQLMybatis入门)

作业1&#xff1a;多表查询 数据准备&#xff1a; 重新创建一个数据库 db03_homework 执行如下脚本&#xff0c;创建表结构&#xff0c;导入测试数据 -- 部门管理 create table tb_dept(id int unsigned primary key auto_increment comment 主键ID,name varchar(10) not n…

Python元编程-动态创建类和实例介绍、使用

目录 一、Python元编程-动态创建类和实例介绍 二、使用 1. 动态创建类 2. 动态创建实例 3. 使用 exec() 函数执行字符串形式的代码 4. 使用 eval() 函数执行字符串形式的代码 5. 使用 metaclass 来实现动态创建类的类 一、Python元编程-动态创建类和实例介绍 动态创建类…

伦敦金在非农双向挂单

对伦敦金投资有一定经验的投资者都知道&#xff0c;在非农时期&#xff0c;伦敦金市场会出现很大的波动&#xff0c;那么我们如何才能抓住这些波动呢&#xff1f;答案是很难的。但是&#xff0c;有些投资者在多年实践中发明了一种双向挂单的方法&#xff0c;这里和大家一切分享…

解决Ubuntu 22.04 虚拟机克隆出多台造成的IP地址冲突的问题

在被克隆的机器上编辑 /etc/netplan/00-installer-config.yaml 文件 network:ethernets:enp0s5:dhcp4: truedhcp-identifier: mac #添加次行version: 2这样每次克隆出来的机器都会有唯一的IP地址 简单说明 如果是克隆 centos 会发现不会出现这一情况&#xff0c;而克隆 ubu…

IMPDP和EXPDP的介绍和使用方法

数据泵的介绍 如何调用数据泵(1/2) 如何调用数据泵(1/2) Directory 操作模式 EXPDP的流程: 创建逻辑目录: * mkdir /home/oracle/app/oracle/oradata/mydata -p * CREATE DIRECTORY MYDATA AS "/home/oracle/app/oracle/oradata/mydata"ps: ORACLE 不会自动创建物理…

Java实现简单小画板

Java制作简单画板&#xff0c;包括两个类&#xff0c;一个主要画板类Drawpad&#xff0c;一个画板监听器DrawListener类。 1、Drawpad类&#xff0c;包括画板&#xff0c;画板功能设计&#xff0c;保存图片等 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2…

【chap6-字符串】用Python3刷《代码随想录》

字符串是由若干字符组成的有限序列&#xff0c;也可以理解为一个字符数组 344. 反转字符串 344. 反转字符串 思路&#xff1a;双指针法。定义两个指针&#xff08;即索引下标&#xff09;&#xff0c;一个从字符串前面&#xff0c;一个从字符串后面&#xff0c;两个指针同时…
推荐文章