HarmonyOS 使用ListItem组件的swipeAction去实现滑出删除,能添加属性控制让特定ListItem组件不滑出,不生效swipeAction吗?

HarmonyOS
17h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

参考Demo:

@Entry
@Component struct ListItemExample2 {
  @State arr: number[] = [0, 1, 2, 3, 4]
  @State enterEndDeleteAreaString: string = "not enterEndDeleteArea"
  @State exitEndDeleteAreaString: string = "not exitEndDeleteArea"
  @Builder itemEnd() {
    Row() {
      Button("Delete").margin("4vp")
      Button("Set").margin("4vp") }.padding("4vp").justifyContent(FlexAlign.SpaceEvenly)
  }
  build() {
    Column() {
      List({ space: 10 }) {
        ForEach(this.arr, (item: number) => {
          ListItem() {
            Text("item" + item)
              .width('100%')
              .height(100)
              .fontSize(16)
              .textAlign(TextAlign.Center)
              .borderRadius(10) .backgroundColor(0xFFFFFF)
          }
          .transition({ type: TransitionType.Delete, opacity: 0 })
          .swipeAction({
            end: item !== 0?{
              builder: () => {
                this.itemEnd()
              },
              onAction: () => {
                animateTo({
                  duration: 1000 },
                  () => {
                    let index = this.arr.indexOf(item)
                    this.arr.splice(index, 1) })
              },
              actionAreaDistance: 56,
              onEnterActionArea: () => {
                this.enterEndDeleteAreaString = "enterEndDeleteArea"
                this.exitEndDeleteAreaString = "not exitEndDeleteArea" },
              onExitActionArea: () => {
                this.enterEndDeleteAreaString = "not enterEndDeleteArea"
                this.exitEndDeleteAreaString = "exitEndDeleteArea"
              }
            }:undefined
          })
        },
          (item: string) => item) }
      Text(this.enterEndDeleteAreaString).fontSize(20)
      Text(this.exitEndDeleteAreaString).fontSize(20) }
    .padding(10)
    .backgroundColor(0xDCDCDC)
    .width('100%')
    .height('100%')
  }
}
分享
微博
QQ
微信
回复
15h前
相关问题
HarmonyOS ListItemswipeAction(end:)问题
12浏览 • 1回复 待解决
用数组变量控制组件属性生效
1785浏览 • 1回复 待解决
List组件initialIndex属性设置生效
2284浏览 • 1回复 待解决
List及ListItem组件使用
1783浏览 • 1回复 待解决
容器组件onVisibleAreaChange生效
1898浏览 • 1回复 待解决
textfield截断属性生效
2882浏览 • 1回复 待解决
HarmonyOS Web组件borderRadius生效
26浏览 • 1回复 待解决
HarmonyOS 组件切换深色模式生效
427浏览 • 1回复 待解决