拖拽事件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返回空值
144浏览 • 1回复 待解决
HarmonyOS getRawFileContentSync读取rawfile下的文件返回空
355浏览 • 1回复 待解决
如何给Navigation组件的分隔线增加拖拽事件以支持拖拽功能
2807浏览 • 1回复 待解决
HarmonyOS 元素使用了动画事件,会监听不到手势拖拽。去掉动画事件可以监听到手势拖拽。
160浏览 • 1回复 待解决
#鸿蒙通关秘籍#怎么处理鸿蒙系统的拖拽事件?
154浏览 • 1回复 待解决
Image默认支持拖拽事件,是否可以通过配置禁用?
510浏览 • 1回复 待解决
HarmonyOS 返回及侧滑返回无法拦截事件
741浏览 • 1回复 待解决
HarmonyOS CustomDialogController可否拦截返回事件?
506浏览 • 1回复 待解决
HarmonyOS RN如何拦截返回事件
184浏览 • 1回复 待解决
HarmonyOS 页面返回事件如何监听
206浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中处理拖拽悬浮窗的触摸事件?
430浏览 • 1回复 待解决
HarmonyOS page中如何获取返回键事件?
535浏览 • 1回复 待解决
HarmonyOS 子窗口页面返回事件无效
172浏览 • 1回复 待解决
返回按钮是否可以自定义事件?
428浏览 • 1回复 待解决
HarmonyOS Grid拖拽,让部分item不响应拖拽
275浏览 • 1回复 待解决
拖拽时怎么设置当前拖拽项目数
1192浏览 • 1回复 待解决
HarmonyOS 侧滑返回事件拦截与绑定
1535浏览 • 1回复 待解决
华为事件通知接口返回10008错误码
9562浏览 • 2回复 待解决
HarmonyOS 子窗口如何阻止物理返回事件
455浏览 • 1回复 待解决
HarmonyOS 怎么监听Entry页面的滑动返回或物理返回按键的点击事件
1411浏览 • 1回复 待解决
HarmonyOS list的拖拽不能拖拽到屏幕外面么?
600浏览 • 1回复 待解决
HarmonyOS 如何监听返回键事件,实现连按两次返回,提示退出应用
2139浏览 • 1回复 待解决
在容器组件嵌套的场景下,如何解决手势拖拽事件出现错乱的问题
2093浏览 • 1回复 待解决
图片默认是可拖拽的,如何设置为不可拖拽
2279浏览 • 1回复 待解决
可以直接使用List组件自带的拖拽事件onItemDragStart、onItemDrop
参考demo:
也可以使用手势事件实现拖拽效果。
参考demo: