HarmonyOS swiper在滑动时子组件的onAreaChange会被调用多次?有没有获取组件position的方法
在swiper的子组件中有onAreaChange,在此方法中有获取位置的信息,这些是否会受滑动影响?具体代码如下:
Swiper(this.swiperContentController) {
LazyForEach(this.pageTitleSource, (item: PregnancyTitleData) => {
...
.
Column() {
...
}.onAreaChange((oldValue: Area, newValue: Area) => {
let newX = newValue.globalPosition.x as number
if (newX < 0) {
newX = 0
}
this.thumbStartX = newX
})
Image($r('app.media.detail_pregnant_icon_schedule'))
.width(30)
.height(30)
.position(this.getFirstPosition())
.translate({ x: this.getThumbXPosition(), y: 0 })
.transition(TransitionEffect.SLIDE.animation({
duration: this.getDuration(),
curve: Curve.EaseOut,
iterations: 1,
playMode: PlayMode.Normal,
}))
...
}, (item: PregnancyTitleData) => JSON.stringify(item))
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
然后在this.getThumbXPosition()中会用到this.thumbStartX。
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS swiper子组件,会被强行宽高设置占满整个Swiper的大小
1027浏览 • 1回复 待解决
父组件调用子组件的方法
2227浏览 • 1回复 待解决
HarmonyOS 自定义组件中的constructor()方法在使用组件时没有调用
1208浏览 • 1回复 待解决
HarmonyOS 当在子组件绑定PanGesture时,在子组件区域进行滑动只能触发子组件的PanGesture
919浏览 • 0回复 待解决
HarmonyOS 子组件如何拿到父组件的position
477浏览 • 1回复 待解决
HarmonyOS 组件配置offset属性后,组件的onAreaChange中的值,position不正确
1459浏览 • 1回复 待解决
子组件调用父组件里的方法
1118浏览 • 1回复 待解决
HarmonyOS 子组件调用父组件的方法demo
851浏览 • 1回复 待解决
HarmonyOS 父组件怎么调用子组件的方法
1222浏览 • 1回复 待解决
HarmonyOS 父组件如何调用子组件的方法?
1090浏览 • 0回复 待解决
HarmonyOS 想调用子组件的方法
1060浏览 • 1回复 待解决
HarmonyOS 父组件调用子组件方法
887浏览 • 1回复 待解决
HarmonyOS 关于子组件调用父组件方法的问题
1940浏览 • 1回复 待解决
HarmonyOS 父组件如何调用子组件里的方法
823浏览 • 1回复 待解决
HarmonyOS 父组件怎么直接调用子组件的方法
961浏览 • 1回复 待解决
HarmonyOS 如何在父组件中调用子组件的方法
739浏览 • 1回复 待解决
ArkTS怎么在onSelect事件中调用子组件中的方法
3105浏览 • 1回复 待解决
HarmonyOS 自定义组件有没有方法可以获取它的父组件
1026浏览 • 1回复 待解决
HarmonyOS Swiper组件如何关闭子页面手势滑动切换效果
701浏览 • 1回复 待解决
如何在父组件中调用子组件封装的方法
2367浏览 • 1回复 待解决
HarmonyOS Swiper组件怎么设置滑动时缩放的交互动画
936浏览 • 1回复 待解决
HarmonyOS 组件模块化, 父组件如何调用子组件类的方法?
1045浏览 • 1回复 待解决
arkUI自定义组件,父组件如何获取子组件对象,调用其方法
5906浏览 • 1回复 待解决
开源鸿蒙中 ets子组件调用父组件中的方法?
6742浏览 • 1回复 待解决
HarmonyOS有没有回调函数能够在组件重绘的时候调用?
974浏览 • 1回复 待解决
onAreaChange方法可以获取当前元素相对于父元素的偏移量。在swiper中onAreaChange会被调用多次,且所有列中的onAreaChange都会被调用。在swiper中,有onContentDidScroll方法,可以用来判断对应的列的移动距离,主要是正在展示的列和之后会展示的列,可以通过index来区分。