拖拽事件extraParams返回空
按要求拖拽事件放在ListItem组件上执行。
@Entry
@Component
struct Test {
@State message: string = 'Hello World'
@State arr1: string[] = []
aboutToAppear(): void {
for (let i = 0; i < 50; i++) {
this.arr1.push(i + "")
}
}
private scrollerForScroll: Scroller = new Scroller()
swapElementsAtIndex(index1: number, index2: number): void {
if (index1 < 0 || index1 >= this.arr1.length || index2 < 0 || index2 >= this.arr1.length) {
return
}
const temp = this.arr1[index1];
this.arr1[index1] = this.arr1[index2];
this.arr1[index2] = temp;
}
build() {
Column() {
Text('标题').margin({ top: 50 }).height(20)
Scroll(this.scrollerForScroll) {
List({ initialIndex: 0 }) {
ForEach(this.arr1, (item: string, index: number) => {
ListItem() {
Column() {
Text('' + item)
.width('100%')
.height(40)
.fontSize(16)
.textAlign(TextAlign.Center)
.borderRadius(10)
.backgroundColor(0xFFFFFF)
}.borderColor(Color.Red).borderWidth(1)
}
.draggable(true)
.onDragEnd((event?: DragEvent,extraParams?: string) => {
if (event && extraParams) {
const extraObj = JSON.parse(extraParams) as Record<string, number>
let selectedIndex = extraObj['selectedIndex']
let insertIndex = extraObj['insertIndex']
this.swapElementsAtIndex(selectedIndex,insertIndex)
}
})
}, (item: string) => item)
}
}
}
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS resourceDir返回空值
660浏览 • 1回复 待解决
HarmonyOS getRawFileContentSync读取rawfile下的文件返回空
1088浏览 • 1回复 待解决
如何给Navigation组件的分隔线增加拖拽事件以支持拖拽功能
3458浏览 • 1回复 待解决
HarmonyOS 元素使用了动画事件,会监听不到手势拖拽。去掉动画事件可以监听到手势拖拽。
945浏览 • 1回复 待解决
#鸿蒙通关秘籍#怎么处理鸿蒙系统的拖拽事件?
1115浏览 • 1回复 待解决
Image默认支持拖拽事件,是否可以通过配置禁用?
1256浏览 • 1回复 待解决
HarmonyOS 返回及侧滑返回无法拦截事件
1647浏览 • 1回复 待解决
HarmonyOS CustomDialogController可否拦截返回事件?
1311浏览 • 1回复 待解决
HarmonyOS RN如何拦截返回事件
741浏览 • 1回复 待解决
HarmonyOS 页面返回事件如何监听
1071浏览 • 1回复 待解决
HarmonyOS 子窗口页面返回事件无效
779浏览 • 1回复 待解决
返回按钮是否可以自定义事件?
1192浏览 • 1回复 待解决
HarmonyOS page中如何获取返回键事件?
1183浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中处理拖拽悬浮窗的触摸事件?
1229浏览 • 1回复 待解决
HarmonyOS Grid拖拽,让部分item不响应拖拽
1120浏览 • 1回复 待解决
拖拽时怎么设置当前拖拽项目数
2031浏览 • 1回复 待解决
华为事件通知接口返回10008错误码
10794浏览 • 2回复 待解决
HarmonyOS 侧滑返回事件拦截与绑定
3447浏览 • 1回复 待解决
HarmonyOS 怎么监听Entry页面的滑动返回或物理返回按键的点击事件
2820浏览 • 1回复 待解决
HarmonyOS 子窗口如何阻止物理返回事件
1185浏览 • 1回复 待解决
HarmonyOS 如何监听返回键事件,实现连按两次返回,提示退出应用
6035浏览 • 2回复 待解决
HarmonyOS list的拖拽不能拖拽到屏幕外面么?
1476浏览 • 1回复 待解决
在容器组件嵌套的场景下,如何解决手势拖拽事件出现错乱的问题
2931浏览 • 1回复 待解决
HarmonyOS 图片拖拽实现
1175浏览 • 1回复 待解决
可以直接使用List组件自带的拖拽事件onItemDragStart、onItemDrop
参考demo:
也可以使用手势事件实现拖拽效果。
参考demo: