HarmonyOS 鸿蒙Next 怎么在item上设置左滑删除 收藏等功能

发布于 1周前 作者 songsunli 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 怎么在item上设置左滑删除 收藏等功能

怎么在item上设置左滑删除,收藏等功能

cke_207.png

2 回复

使用swiperAction,可以看下这个demo,左滑右滑效果 

[@Entry](/user/Entry)
[@Component](/user/Component)
struct ListItemExample2 {
 [@State](/user/State) arr: number[] = [0, 1, 2, 3, 4]
 [@State](/user/State) enterEndDeleteAreaString: string = "not enterEndDeleteArea"
 [@State](/user/State) exitEndDeleteAreaString: string = "not exitEndDeleteArea"

 [@Builder](/user/Builder)
 itemStart() {
   Row() {
     Button("Set").margin("4vp")
   }.padding("4vp").justifyContent(FlexAlign.SpaceEvenly)
 }

 [@Builder](/user/Builder)
 itemEnd() {
   Row() {
     Button("Delete").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({
           edgeEffect: SwipeEdgeEffect.None,
           end: {
             builder: () => {
               this.itemEnd()
             },
             onAction: () => {
               animateTo({ duration: 1000 }, () => {
                 let index = this.arr.indexOf(item)
                 this.arr.splice(index, 1)
               })
             },
             actionAreaDistance: 56,
           }
         })
       }, (item: string) => item)
     }

     Text(this.enterEndDeleteAreaString).fontSize(20)
     Text(this.exitEndDeleteAreaString).fontSize(20)
   }
   .padding(10)
   .backgroundColor(0xDCDCDC)
   .width('100%')
   .height('100%')
 }
}

在HarmonyOS鸿蒙Next中,为item设置左滑删除和收藏等功能,可以通过以下步骤实现:

  1. 使用ListItem组件:首先,确保你的item是使用ListItem组件构建的。ListItem组件提供了丰富的交互功能,包括左滑操作。
  2. 配置swipeAction属性:为ListItem组件设置swipeAction属性,该属性允许你定义左滑时显示的自定义UI(如删除和收藏按钮)。你可以通过UIBuilder来自定义这些按钮的样式和布局。
  3. 处理点击事件:为删除和收藏按钮设置点击事件处理函数。当用户点击这些按钮时,执行相应的逻辑,如从列表中删除该项或将其标记为已收藏。
  4. 更新UI:根据用户的操作,更新List组件的UI以反映更改。这通常涉及修改绑定到List组件的数据数组。

通过以上步骤,你就可以在HarmonyOS鸿蒙Next的item上设置左滑删除和收藏等功能了。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部