HarmonyOS Swiper+ForEach使用问题

项目中用到了,Swiper+LazyForEach的使用,代码如下:

Swiper(this.swiperController) {  
      LazyForEach(this.calendarDataSource, (item: CalendarModelList) => {  
        Column() {  
          //日期列表  
          List() {  
            ForEach(this.changeData(item), (item: CalendarModelList) => {  
              ListItem() {  
                CalendarListItem({ dateList: item})  
              }  
            })  
          }  
          Stack(){  
            //显示图例  
            CalendarState()  
            //显示农历提示语  
            CalendarTip().visibility(this.isShowTip && !this.selectCalendarModel.isPregnancy() ? Visibility.Visible : Visibility.None)  
          }  
          //孕周显示  
          CalendarPregnantData()  
        }.padding({ bottom: 5 })  
      },  
        (item: CalendarModel[], index: number) => {  
          return JSON.stringify(item)}  
      )  
    }  
    .indicator(false)  
    .loop(false)  
    .cachedCount(1)  
    .index(this.currentIndex)

1、在往前面滑动的时候,去加载了之前的数据,把新加载的数据,调用:

this.calendarDataSource.addData(0,calendarModeList)  this.currentIndex = 1

添加到最前面,发现页面没有绘制出我新添加的数据UI。

2、数据往后面添加调用this.calendarDataSource.pushData(calendarModeList)就正常的。

HarmonyOS
2024-10-10 10:41:10
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

在onchange方法中修改状态变量currentIndex无法有效更改当前swiper的显示页面,参考使用API12的changeIndex属性,修改如下:

this.swiperController.changeIndex(1, false)

参考链接如下:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-container-swiper-V5#changeindex12

分享
微博
QQ
微信
回复
2024-10-10 18:07:09
相关问题
HarmonyOS swiper + LazyForEach使用问题
206浏览 • 1回复 待解决
HarmonyOS swiper组件的使用问题
213浏览 • 1回复 待解决
HarmonyOS Swiper循环问题
293浏览 • 1回复 待解决
HarmonyOS Swiper组建使用
389浏览 • 1回复 待解决
HarmonyOS 关于Swiper指示器问题
233浏览 • 1回复 待解决
HarmonyOS ForEach局部刷新
270浏览 • 1回复 待解决
使用swiper组件实现viewPager效果
1277浏览 • 1回复 待解决
修改ForEach使用的数据对象,UI不刷新
1463浏览 • 1回复 待解决
如何使用Swiper组件实现下拉刷新
719浏览 • 1回复 待解决
HarmonyOS Swiper指示器?
30浏览 • 0回复 待解决
ForEach数组数据无法传输
5120浏览 • 1回复 待解决