小程序
小游戏
企业微信
微信支付
扫描小程序码分享
swiper组件,设置了autoplay=false,但是修改了interval属性,出现了自动切换开始轮播了,为什么autoplay的优先级不是最高呢?
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
先吐槽一下对这么明显的BUG的如此不重视,几年了还没修复?
问题表现:设置 interval 会导致 autoplay 的 false 值失效
可复现问题的代码片段:https://developers.weixin.qq.com/s/gOcjIzm77KHg
临时解决方案:👇
// 设置 interval 会导致 autoplay 的 false 值失效, // 例如原本 autoplay 为 false, // 想设置 interval 的同时保持 autoplay 为 false(不自动播放), // 则先设置 autoplay 为 true, // 待设置生效后,再设置 autoplay 为 false this.setData({ interval: 1500, // 先设置 autoplay 为 true autoplay: true }, () => { // 待设置生效后,再设置 autoplay 为 false this.setData({ autoplay: false }) })
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
我是设置autoplay未false,interval设置为2000,在h5中不会自动切换,小程序会自动切换,我把interval属性去掉了,小程序的autoplay就能生效了
我也遇到同样的问题,无法关闭自动播放,不知兄弟你最后解决没有呢?
<view class="home-page"> <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}"> <block wx:for="{{background}}" wx:key="*this"> <swiper-item> <view class="swiper-item {{item}}"> {{item}} </view> </swiper-item> </block> </swiper> </view> Page({ data: { background: ['demo-text-1', 'demo-text-2', 'demo-text-3'], autoplay: false, interval: 2000, duration: 500 }, onLoad () { setTimeout(() => { console.log('settimeout') this.setData({ interval: 5000 }) }, 5000); } })
贴出代码。 初步判断 你是这样写的autoplay=“false“ 这是false只是字符串 一直是true 。
<view class="home-page">
<swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}">
<block wx:for="{{background}}" wx:key="*this">
<swiper-item>
<view class="swiper-item {{item}}">
{{item}}
</view>
</swiper-item>
</block>
</swiper>
Page({
data: {
background: ['demo-text-1', 'demo-text-2', 'demo-text-3'],
autoplay: false,
interval: 2000,
duration: 500
},
onLoad () {
setTimeout(() => {
console.log('settimeout')
this.setData({
interval: 5000
})
}, 5000);
}
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
先吐槽一下对这么明显的BUG的如此不重视,几年了还没修复?
问题表现:设置 interval 会导致 autoplay 的 false 值失效
可复现问题的代码片段:https://developers.weixin.qq.com/s/gOcjIzm77KHg
临时解决方案:👇
// 设置 interval 会导致 autoplay 的 false 值失效, // 例如原本 autoplay 为 false, // 想设置 interval 的同时保持 autoplay 为 false(不自动播放), // 则先设置 autoplay 为 true, // 待设置生效后,再设置 autoplay 为 false this.setData({ interval: 1500, // 先设置 autoplay 为 true autoplay: true }, () => { // 待设置生效后,再设置 autoplay 为 false this.setData({ autoplay: false }) })
我是设置autoplay未false,interval设置为2000,在h5中不会自动切换,小程序会自动切换,我把interval属性去掉了,小程序的autoplay就能生效了
我也遇到同样的问题,无法关闭自动播放,不知兄弟你最后解决没有呢?
<view class="home-page"> <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}"> <block wx:for="{{background}}" wx:key="*this"> <swiper-item> <view class="swiper-item {{item}}"> {{item}} </view> </swiper-item> </block> </swiper> </view> Page({ data: { background: ['demo-text-1', 'demo-text-2', 'demo-text-3'], autoplay: false, interval: 2000, duration: 500 }, onLoad () { setTimeout(() => { console.log('settimeout') this.setData({ interval: 5000 }) }, 5000); } })
贴出代码。 初步判断 你是这样写的autoplay=“false“ 这是false只是字符串 一直是true 。
<view class="home-page">
<swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}">
<block wx:for="{{background}}" wx:key="*this">
<swiper-item>
<view class="swiper-item {{item}}">
{{item}}
</view>
</swiper-item>
</block>
</swiper>
</view>
Page({
data: {
background: ['demo-text-1', 'demo-text-2', 'demo-text-3'],
autoplay: false,
interval: 2000,
duration: 500
},
onLoad () {
setTimeout(() => {
console.log('settimeout')
this.setData({
interval: 5000
})
}, 5000);
}
})