收藏
回答

wx.previewImage参数current的BUG?

问题描述  :



previewImage current当前显示图片的链接,不填则默认为 urls 的第一张

默认了current 后还是显示的

urls 列表中的第一张图片


反馈图如下:






代码如下

wxml文件

<view class="img_item"  wx:for="{{picList}}" wx:for-item="item">
  <image src="{{item.url}}" bindtap="viewPic" data-url="{{item.url}}"></image>
</view>

js文件

viewPic:function(e)
  {
    var  _this = this;
    var nowpic  = e.target.dataset.url;
     
    var picList = _this.data.picList;
    var urls = [];
    for (var i = 0; i < picList.length; i++)
    {
      //console.log(picList[i].url);
      urls.push(picList[i].url);
    }
    console.log(nowpic);
    wx.previewImage({
      current: nowpic, // 当前显示图片的http链接
      urls: urls, // 需要预览的图片http链接列表
    })
   
  },


回答关注问题邀请回答
收藏

7 个回答

  • 寂静
    寂静
    2023-11-18

    current 应该传入对应下标的图片链接,而不是下标本身;如下:

    wx.previewImage({

    current: that.userPhotos[photoIndex],

    urls: that.userPhotos

    })


    2023-11-18
    有用
    回复
  • water-lover
    water-lover
    2022-04-17

    官方文档没有bug,事件绑定要绑定在image组件上,而不是绑定在view组件上

    2022-04-17
    有用
    回复 1
    • water-lover
      water-lover
      2022-04-17
      而且,参数可以传递下标,再绑定的函数里面,通过下标使用
      2022-04-17
      回复
  • 好亮仔
    好亮仔
    2021-02-04

    可以成功实现预览而且从你点击的图开始的。

    首先,wxml文件如下。注意bindtap本人用了后端指定函数名而非硬编码。

     <view class="form-box" wx:for="{{temPath}}" wx:key="{{index}}">
                <image data-index="{{index}}" src="{{item}}" bindtap="{{funcN}}"></image>
        </view>
    


    js文件如下:

    Page({
      data:{
        address:{
          name:'',
          phone:'',
          detail:'',
          picUrl1:'',
          picUrl2:'',
          upImg:false,
          location:'所在位置',
          blog:"",
          show:true,
          month:0,
          date:0
        },
        temPath:undefined,
        funcN:'previewImg',
      },
    ………………
    previewImg(event){
        console.log(event.currentTarget.dataset.index)
      wx.previewImage({
        urls: this.data.temPath,
        //'current',
        current: this.data.temPath[event.currentTarget.dataset.index],
        success: (res) => {},
        // fail: (res) => {},
        // complete: (res) => {},
      })
      }
      
    })
    


    就可以了,注意bintap的使用位置不是循环的外view,而是用在item上。而且,要设置current的值为数组的当前索引的URL。


    2021-02-04
    有用
    回复
  • Zoe
    Zoe
    2020-07-18

    我也有这个问题,数组只放一张当前图片可以暂时解决,期待官方回复

    2020-07-18
    有用
    回复
  • 梁成
    梁成
    2019-01-31

    urls 参数里需要填写所有的图片地址,包括 A(current),是否没有将 A 放入 urls 中

    2019-01-31
    有用
    回复
  • 王瑞华
    王瑞华
    2018-01-27

    我也遇到了这个问题 current无效。 怎么都是显示第一张。日志打出来又对着呢。

    2018-01-27
    有用
    回复
  • 譕訫
    譕訫
    2017-08-28

    官方人呢? 怎么没人回应一下

    2017-08-28
    有用
    回复
登录 后发表内容