HarmonyOS ListItem.swipeAction()的第二个参数edgeEffect不起作用
@Entry
@Component
struct ListItemExample2 {
  @State arr: number[] = [0, 1, 2, 3, 4]
  @State enterEndDeleteAreaString: string = "not enterEndDeleteArea"
  @State exitEndDeleteAreaString: string = "not exitEndDeleteArea"
  @State isShow:boolean = true;
  @Builder itemEnd() {
    Row() {
      Button("Delete").margin("4vp")
      Button("Set").margin("4vp")
    }.padding("4vp").justifyContent(FlexAlign.SpaceEvenly)
  }
  build() {
    Column() {
      Button("点击").onClick(()=>{
        this.isShow=!this.isShow
        console.log(this.isShow+"111111111")
      })
      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: this.isShow?{
              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
          ,edgeEffect:SwipeEdgeEffect.None
          })
        }, (item: string) => item)
      }
      Text(this.enterEndDeleteAreaString).fontSize(20)
      Text(this.exitEndDeleteAreaString).fontSize(20)
    }
    .padding(10)
    .backgroundColor(0xDCDCDC)
    .width('100%')
    .height('100%')
  }
}
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 HarmonyOS pushPathByName中的第二个参数传入特殊字符串导致异常 
1205浏览  • 1回复 待解决
hilog的private参数不起作用 
6803浏览  • 1回复 待解决
创建VLAN时,再创建第二个IP地址时显示冲突。 
519浏览  • 0回复 待解决
HarmonyOS OH_Drawing_SetTextStyleLocale (OH_Drawing_TextStyle* , const char* )接口第二个参数 
938浏览  • 1回复 待解决
HarmonyOS 无法获取音频设备回调里第二个参数OH_AudioDeviceDescriptorArray中的内容 
797浏览  • 1回复 待解决
Preferences不起作用 
5154浏览  • 1回复 待解决
HarmonyOS zIndex不起作用 
1103浏览  • 1回复 待解决
JSUI 怎么在第二个页面修改第一个页面的数据? 
5718浏览  • 2回复 待解决
点击Tab切换页签时,如何让Tab页签滚动到第二个位置 
536浏览  • 1回复 待解决
HarmonyOS 清除缓存不起作用 
898浏览  • 1回复 待解决
HarmonyOS异步await不起作用 
1432浏览  • 1回复 待解决
tablist 可不可以默认从第二个开始,如下图所示 
1061浏览  • 1回复 待解决
HarmonyOS router.back不起作用 
994浏览  • 1回复 待解决
HarmonyOS  column设置圆角不起作用 
1888浏览  • 1回复 待解决
HarmonyOS  TextAlign.JUSTIFY 不起作用 
1417浏览  • 1回复 待解决
HarmonyOS bindSheet设置preferType不起作用 
763浏览  • 1回复 待解决
HarmonyOS data_preferences remove不起作用 
1257浏览  • 1回复 待解决
代码里面Tabs是没有设置index的,添加第二个参数的时候,页面会显示不正常,这个该如何解决? 
2437浏览  • 1回复 待解决
await有时候貌似不起作用 
456浏览  • 0回复 待解决
第一个返回true或者false是否影响第二个进入? 
1703浏览  • 1回复 待解决
HarmonyOS @Builder 修饰的api中,设置圆角不起作用 
1271浏览  • 1回复 待解决
HarmonyOS TextTimer组件放到列表里面不起作用 
954浏览  • 1回复 待解决
HarmonyOS HiLog打印日志换行符‘\n’不起作用 
1703浏览  • 1回复 待解决
HarmonyOS 如果有两个span 第一个span放的是中文 第二个span超长 这时候 Ellipsis会展示异常 
950浏览  • 1回复 待解决
harmonyOS编写一个颜色渐变的背景资源文件,引用不起作用 
11778浏览  • 3回复 待解决





















1、SwipeEdgeEffect.None:当设置为SwipeEdgeEffect.None时,Listitem划动距离不能超过划出组件大小。如果设置了删除区域,ListItem划动距离不能超过删除阈值,并且在设置删除回调的情况下,达到删除阈值后松手触发删除回调。适用场景:适用于需要严格限制Listitem划动距离的场景,如避免用户意外滑动到不希望的区域。
2、SwipeEdgeEffect.Spring:当设置为SwipeEdgeEffect.Spring时,Listitem划动距离超过划出组件大小后可以继续划动。如果设置了删除区域,ListItem划动距离超过删除阈值后可以继续划动,松手后按照弹簧阻尼曲线回弹。适用场景:适用于需要一定弹性和交互性的场景,如用户可以通过一定的划动距离删除内容或移动列表项。
主要区别如下划动限制:SwipeEdgeEffect.None限制划动距离,而SwipeEdgeEffect.Spring没有此限制,可以继续划动。删除阈值:SwipeEdgeEffect.None需要设置删除区域,当划动距离超过删除阈值后触发删除回调,而SwipeEdgeEffect.Spring可以自动根据划动距离触发删除回调。
使用场景:SwipeEdgeEffect.None适用于需要严格限制划动距离的场景,如避免用户意外滑动到不希望的区域。SwipeEdgeEffect.Spring适用于需要一定弹性和交互性的场景,如用户可以通过一定的划动距离删除内容或移动列表项。
可以看出设置actionAreaDistance: 56,太小了,两中都会触发删除,可以设置一个稍微大一点的值