首页 > 编程语言 >微信小程序-----微信小程序选择本地图片显示并预览(实现左右滑动)

微信小程序-----微信小程序选择本地图片显示并预览(实现左右滑动)

时间:2024-03-06 15:34:19浏览次数:23  
标签:预览 url 微信 程序 ----- urls 页面 图片

一、选择图片并显示
1、创建页面
这里我直接将我的页面信息展示出来给大家看。附上我的代码

就是一个简单的页面的代码其中还隐藏了要显示的image,因为没有值,所以还看不到。
wxml 页面代码

<view class="display_img">
<block wx:for="{{lista}}">
<view class="img_size_box">
<image src="{{item}}" class="img_size" bind:tap="fangda" data-urls="{{lista}}" data-url="{{item}}"></image>
</view></block>
</view>

<view>
<button bind:tap="selectPicture">选择图片</button>
</view>

 


wxss样式:

.

.display_img{
  width: 80%;
  margin-left: 10%;
  margin-top: 20px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.img_size_box{
  width: 32%;
  height: 100px;
  margin: 1px;
  overflow: hidden;
  text-align: center;
}
.img_size{
text-align: center;
width: 100%;
height: 100%;
object-fit: cover;
}

 


2、选择本地的图片
点击选择图片按钮,打开媒体选择器
首先,给Button进行事件的绑定,使用bind-tap来进行绑定,给出一个方法名。

然后在js里面实现方法

  selectPicture:function(e){
    wx.chooseMedia({
      count:9,
      mediaType:['image','video'],
      sourceType:"album",
      maxDuration:30,
    success:(res)=>{
      let i=0;
      var list=new Array
      for (i;i<res.tempFiles.length;i++){
        list.push(res.tempFiles[i].tempFilePath)
      }
      this.setData({
        lista:list
      })
    }
    })
  }

 


解释:

在选择图片成功后,会返回图片的信息,在这里我们只需要获取图片的路径就行了。
首先我们创建一个数组存放我们所选择图片的路径
var list = new Array
然后得到图片路径放入数组
使用 res.tempFiles[].tempFilePath来得到路径。
最后设置数据给lista。

3、显示图片到页面上
在这里我们使用来遍历显示

<block wx:for="{{lista}}">
<view class="img_size_box">
<image src="{{item}}" class="img_size" bind:tap="fangda" data-urls="{{lista}}" data-url="{{item}}"></image>
</view></block>
</view>


{{lista}}是我们上面设置数据的lista
{{item}}代表lista里面的值
得到的效果如图所示:


二、预览图片
1、绑定事件,获得当前图片的url
<image src="{{item}}" class="img_size" bind:tap="fangda" data-urls="{{lista}}" data-url="{{item}}"></image>
1
绑定点击事件方法名:dangda(我直接拼音,嘿嘿嘿~~)
在这里我们需要传递回两个参数
一个是当前图片的url(代码中为url)
一个是全部图片的url(代码中为urls)

2、调用方法预览图片

fangda:function(e){
console.log(e.currentTarget.dataset.url)
wx.previewImage({
current:e.currentTarget.dataset.url,
urls: e.currentTarget.dataset.urls,
success:(res)=>{
},
})
}

 



采用wx.previewImage来进行图片预览
current:是当前显示图片的url
urls:是所用的图片地址的数组集合。
当你点击图片,就会显示到你当前的图片,然后左右滑动,就会显示相邻的图片了。
效果如下:

这是向左划。如果你想要只显示当前一张图片,就直接在urls里面传递一张图片的路径就行了!
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_67449756/article/details/134495173

标签:预览,url,微信,程序,-----,urls,页面,图片
From: https://www.cnblogs.com/fuyao/p/18056744

相关文章

  • kubenetes系列-部署csi-driver-nfs
    1、部署helm#这里要注意因为下周的是二进制直接可用,需要根据系统去下载wgethttps://get.helm.sh/helm-v3.14.2-linux-amd64.tar.gztarxfhelm-v3.14.2-linux-amd64.tar.gz&&cdlinux-arm64&&mvhelm/usr/bin/2、使用helm部署helmpullcsi-driver-nfs/csi-driver-nfs......
  • Python-动态类型
    动态类型在Python中,类型是在运行时自动确定的,而不是通过代码声明,即Python没有必要事先声明变量。1.变量、对象和引用变量创建:一个变量在代码第一次给它赋值时就创建了它,之后的赋值将会改变已创建的变量的值;Python在代码运行之前会先检测变量名,是最初的赋值操作在创建变量。变......
  • 【2024-03-01】我们订了
    20:00亲爱的三月,请进。我是多么高兴,一直期待你光临。请摘下你的帽子,你一定是走来的,瞧你上气不接下气。亲爱的,别来无恙,等等,等等,你动身时自然可好。哦,快随我上楼,有许多话要对你说                               ......
  • flask-session的用法
    flask-session的作用原本flask的session,是加密后放到cookie中现在向把session存在服务端,不放在cookie中-存在表中:跟djagno默认一样-存在缓存(redis):性能高使用方式一fromflaskimportFlask,sessionfromflask_sessionimportRedisSessionInterfacefromredisimport......
  • 互斥技术-原子变量
    原子变量普通变量count++:看起来是一句话:实际是三个步骤:第一:首先要把这个变量在内存当中取到CPU:第二:把这个变量进行++;第三:把这个变量的值送回内存:所以这是分了三个步骤:每一个步骤都有可能被打断,所以对这个值的操作不原子.原子:即一气呵成:一旦成功,则所有过程都......
  • makefile --- 调试打印方法
    使用info/warning/error增加调试信息$(info“hereaddthedebuginfo”) info信息不打印消息所在的行号$(warning“hereaddthedebuginfo”) 打印行号,makefile继续执行$(error“error:thiswillstopthecompile”) 打印行号,停止执行打印变量的值$......
  • 【2024-02-29】连岳摘抄
    23:59一蔸雨水一蔸禾,每个人头顶上都有一块天,都会有雨水的滋润。                                                 ——蔡皋人不是靠体格竞争的低等动物,人是靠头脑竞......
  • GBU3510-ASEMI火牛适配器专用整流桥GBU3510
    编辑:llGBU3510-ASEMI火牛适配器专用整流桥GBU3510型号:GBU3510品牌:ASEMI封装:GBU-4正向电流(Id):35A反向耐压(VRRM):1000V正向浪涌电流:300A正向电压(VF):1.10V引脚数量:4芯片个数:4芯片尺寸:MIL功率(Pd):中小功率设备工作温度:-55°C~150°C类型:插件整流桥、整流桥GBU3510整流桥描......
  • docker-部署mysql8,并映射数据目录和日志目录
    下载镜像dockerpullmysql:8.0.21在主机上准备目录mkdir-p/mysql8/data/mysql8/log  /mysql8/cnf编写配置文件[root@localhostcnf]#catmy.cnf[mysqld]datadir=/mysql/datalog-error=/mysql/log/mysql-log.logpid-file=/mysql/mysqld/mysqld.pids......
  • 介绍一个很不错的 php 加密工具 - XLoad 扩展加密工具
    对于PHP开发者来说,代码安全变得越来越重要,选择一个可靠的加密工具是保护代码完全的关键。今天,我要向大家介绍一款非常出色的PHP加密工具-XLoad扩展加密工具。XLoad扩展加密工具是一款强大、安全、而易用的加密软件,它为PHP开发者提供了高效、安全的加密解决方案。这款工......