收藏
回答

小程序for循环后,点击事件,单击一个按钮后,其他按钮一起变,如何给图片加上id?求助!

    <view class="anniu" wx:if="{{isplay==false}}" bindtap='play'  data-ypname='{{item._id}}' id="{{index}}"  >
      <image src='../../images/play.png' style="width:50px;height:50px;"></image>
    </view>
    <view class="anniu"  wx:if="{{isplay==true}}" bindtap='stop'>
      <image src='../../images/pause.png' style="width:50px;height:50px;"></image>
    </view>


    play: function (ypname) {
      var dataset = ypname.currentTarget.dataset;
      var ypname = dataset.ypname;
      db.collection('PyFile').where({
        _id: ypname
      })
      .get({
        success: function(res) {
          myaudio.src = res.data[0].file
        }
      })
      //播放音频
      myaudio.play();
      console.log(myaudio.duration);
     this.setData({ isplay: true });
    
    },
    // 停止
    stop: function () {
      myaudio.pause();
      this.setData({ isplay: false });
    }


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

5 个回答

  • จุ๊บ
    จุ๊บ
    2021-06-24

    获取点击按钮的下标,根据下标改变对应数组中的判断条件。

    2021-06-24
    有用 1
    回复 7
    • 青叶
      青叶
      发表于移动端
      2021-06-24
      是在wxml判断吗?我卡在了不知道在哪判断
      2021-06-24
      回复
    • จุ๊บ
      จุ๊บ
      2021-06-24回复青叶
      js 里面处理 判断条件,wxml 根据条件渲染数据
      2021-06-24
      1
      回复
    • 青叶
      青叶
      2021-06-25
      有例子吗
      2021-06-25
      回复
    • จุ๊บ
      จุ๊บ
      2021-06-25回复青叶
      仅供 功能实现 参考,可能有更好的方式
      2021-06-25
      1
      回复
    • 青叶
      青叶
      2021-06-25
      谢谢,这个方法可以用,但是可以把其他几个同时点为播放状态,用什么方法当点击这个的时候,其他变为暂停状态呢
      2021-06-25
      1
      回复
    查看更多(2)
  • 俊杰Hiro
    俊杰Hiro
    2021-06-24

    每个元素都有自己单独播放状态,您可以把这个当做元素对象的一个属性,那么你wx:for的时候就可以用{{item.isPlay}}来控制播放按钮。

    通过data-index点击动作可以拿到这个下标index去单独setData您的数组。

    另外,可以不需要写两个按钮,本质上只是素材换了,您可以src='{{isPlay?"styleA":"styleB"}}'

    2021-06-24
    有用 1
    回复 1
    • 青叶
      青叶
      2021-06-25
      有例子么
      2021-06-25
      回复
  • rinnki.
    rinnki.
    2022-11-18

    楼楼解决了吗?我也这样了

    2022-11-18
    有用
    回复
  • 崖月减肥中,不瘦三十斤不换名字
    崖月减肥中,不瘦三十斤不换名字
    2021-06-24

    1.单个按钮不需要用vx-if,根据状态切换图片就好

    2.状态扩展不要用一个flag,用数组

    2021-06-24
    有用
    回复 2
    • 青叶
      青叶
      2021-06-25
      用数组得怎么写呀,亲亲。。
      2021-06-25
      回复
    • 崖月减肥中,不瘦三十斤不换名字
      崖月减肥中,不瘦三十斤不换名字
      2021-06-25回复青叶
      比如你现在绑定的是isplay,这个是boolean型,换成isPlayList数组,里面每个元素都是boolean型,然后利用下标绑定,主要是区分开每个按钮的控制标志,而且你之前说的是v-for出来说明你本身就有一个数组,也可以把isplay塞到你的那个数组里面去,每个元素增加一个isplay字段。
      2021-06-25
      回复
  • 微喵网络
    微喵网络
    2021-06-24

    你所有的按钮都是用isplay这同一个条件做显示判断,当然会一起变了

    可以改成用isplay[item._id]来做循环中每一项的判断条件

    2021-06-24
    有用
    回复 11
    • 青叶
      青叶
      发表于移动端
      2021-06-24
      可以说下具体怎么做吗 我试了大半天不知道怎么写,谢谢了
      2021-06-24
      回复
    • 微喵网络
      微喵网络
      2021-06-24回复青叶
      wxml里的判断改成isplay[item._id]知道怎么写吗?
      2021-06-24
      回复
    • 青叶
      青叶
      发表于移动端
      2021-06-24回复微喵网络
      = =! 试过,没成功
      2021-06-24
      回复
    • 微喵网络
      微喵网络
      2021-06-24回复青叶
      2021-06-24
      回复
    • 微喵网络
      微喵网络
      2021-06-24回复青叶
      2021-06-24
      回复
    查看更多(6)
登录 后发表内容