HarmonyOS鸿蒙Next中arkts语言对span加入gesture长按事件无效的原因是什么?
HarmonyOS鸿蒙Next中arkts语言对span加入gesture长按事件无效的原因是什么? 如题,代码贴下面了
Text() {
ForEach(this.wordArr, (item: string, index: number) => {
Span(item)
.fontSize(100)
.fontColor(this.isChosenArr[index] == false ? '#000000' : '#EC5706')
.fontWeight(FontWeight.Bold)
//TODO 长按有bug??????
.gesture(
// 绑定可以重复触发的LongPressGesture
LongPressGesture({ repeat: true })
.onAction((event: GestureEvent) => {
this.chosenWordIndex = index;
this.isChosenArr[index] = true
this.word = item.match(this.rExpForWord)[0]
console.info('====您长按了单词:', this.word)
//T弹出闪卡添加窗口
this.dialogController_shinyCard.open()
})
)
})
}
更多关于HarmonyOS鸿蒙Next中arkts语言对span加入gesture长按事件无效的原因是什么?的实战教程也可以访问 https://www.itying.com/category-93-b0.html
仅支持点击事件,那就不支持长按了,文档有写[https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V2/ts-basic-components-span-0000001478181409-V2]
更多关于HarmonyOS鸿蒙Next中arkts语言对span加入gesture长按事件无效的原因是什么?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
Span不支持长按,它支持的功能很少,Text结合span甚至没法设置行高。
在HarmonyOS鸿蒙Next中,arkts
语言对span
加入gesture
长按事件无效的原因可能是由于span
元素本身不支持手势事件。span
通常用于文本的样式化,而不是交互式元素。鸿蒙系统的gesture
事件通常需要绑定到支持交互的组件上,如Button
或Text
组件。如果尝试在span
上直接绑定gesture
事件,系统可能无法正确识别和处理该事件。确保将gesture
事件绑定到支持交互的组件上,可以解决此问题。
在HarmonyOS鸿蒙Next中,arkts语言对span加入gesture长按事件无效的原因可能是由于span组件本身不支持gesture事件。span通常用于文本的样式设置,而不是交互事件。建议使用支持gesture事件的组件,如Text
或Button
,并在这些组件上绑定长按事件。如果必须在span上实现长按效果,可以考虑使用onTouch
事件手动处理长按逻辑。