HarmonyOS .bindSheet() 绑定控件弹窗滑动问题

使用.bindSheet() 的方式弹窗组件,组件内的 Flex()生成药品列表,但是没办法滑动,请问怎么解决

Flex({ wrap: FlexWrap.Wrap }) {
  ForEach(this.products, (data: CarRecommendProductBean) => {
    DiscountProductComponent({ product: data })
  })
}
HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

请参考以下代码:

@Entry
@Component
struct SheetTransitionExample {
  private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

  @State isShow:boolean = false
  @State isShow2:boolean = false
  @State sheetHeight:number = 300;

  @Builder myBuilder() {

    Column() {

      Flex({ wrap: FlexWrap.Wrap }) {

        List({ space: 20, initialIndex: 0 }) {
          ForEach(this.arr, (item: number) => {
            ListItem() {
              Text('' + item)
                .width('100%')
                .height(100)
                .fontSize(16)
                .textAlign(TextAlign.Center)
                .borderRadius(10)
                .backgroundColor(0xFFFFFF)
            }
          }, (item: string) => item)
        }
        .listDirection(Axis.Vertical) // 排列方向
        .scrollBar(BarState.Off)
        .friction(0.6)
        .divider({ strokeWidth: 2, color: 0xFFFFFF, startMargin: 20, endMargin: 20 }) // 每行之间的分界线
        .edgeEffect(EdgeEffect.Spring) // 边缘效果设置为Spring
        .onScrollIndex((firstIndex: number, lastIndex: number, centerIndex: number) => {
          console.info('first' + firstIndex)
          console.info('last' + lastIndex)
          console.info('center' + centerIndex)
        })
        .onScroll((scrollOffset: number, scrollState: ScrollState) => {
          console.info(`onScroll scrollState = ScrollState` + scrollState + `, scrollOffset = ` + scrollOffset)
        })
        .width('90%')

      }

    }
    .width('100%')
    .height('100%')
    .backgroundColor(0xDCDCDC)
    .padding({ top: 5 })
  }

  build() {
    Column() {
      Button("transition modal 1")
        .onClick(() => {
          this.isShow = true
        })
        .fontSize(20)
        .margin(10)
        .bindSheet($$this.isShow, this.myBuilder(), {
          height: this.sheetHeight,
          backgroundColor: Color.Green,
          onAppear: () => {console.log("BindSheet onAppear.")},
          onDisappear: () => {console.log("BindSheet onDisappear.")}

        })
    }
    .justifyContent(FlexAlign.Center)
    .width('100%')
    .height('100%')
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS bindSheet动问题
21浏览 • 1回复 待解决
HarmonyOS 滑动问题
80浏览 • 1回复 待解决
HarmonyOS scroll滑动问题
484浏览 • 1回复 待解决
HarmonyOS list滑动问题
842浏览 • 1回复 待解决
HarmonyOS Slider滑动问题
396浏览 • 1回复 待解决
HarmonyOS 嵌套滑动问题
374浏览 • 1回复 待解决
HarmonyOS onToch事件滑动问题
41浏览 • 1回复 待解决
TabContent内web组件滑动问题
261浏览 • 2回复 待解决
HarmonyOS Tabs和Web嵌套左右滑动问题
364浏览 • 1回复 待解决
HarmonyOS Refresh跟list组件惯性滑动问题
123浏览 • 1回复 待解决
仿射变换后列表滑动问题
315浏览 • 1回复 待解决
HarmonyOS bindSheet半模态弹窗
346浏览 • 1回复 待解决
HarmonyOS BindSheet相关问题
489浏览 • 1回复 待解决
基于bindSheet的半模态弹窗
1050浏览 • 1回复 待解决
HarmonyOS scroll滚动问题
36浏览 • 1回复 待解决
HarmonyOS 弹窗不与页面绑定demo
280浏览 • 1回复 待解决
HarmonyOS 希望提供滑动控件Demo
7浏览 • 1回复 待解决
HarmonyOS 悬浮按钮拖动问题
384浏览 • 1回复 待解决
HarmonyOS LongPressGesture手势移动问题
536浏览 • 1回复 待解决
HarmonyOS Scroll组件滚动问题
626浏览 • 1回复 待解决