HarmonyOS鸿蒙Next中点击事件参数类型
HarmonyOS鸿蒙Next中点击事件参数类型 我写了一个Text并实现了点击事件
@Component struct ClassifyItem { onClickAction = (event:ClickEvent):void => {}
build() { Text(‘Hello World’) .onClick(this.onClickAction) } }
查看了源码可知`onClick()` 是有一个参数:`event:(event:ClickEvent)=>void`
但是我在编写代码时候将`onClickAction`写成没有参数,竟然也可以编译通过,运行成功,有点搞不懂这里的原理。
[@Component](/user/Component)
struct ClassifyItem {
onClickAction = ():void => {}
build() {
Text('Hello World')
.onClick(this.onClickAction)
}
}
更多关于HarmonyOS鸿蒙Next中点击事件参数类型的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这应该是文档的问题,你这种写法有点类似onclick方法的有参和无参写法,文档感觉是错误的,ClickEvent是可以为空的
@Component
@Entry
export struct Test {
@State text: string = ''
build() {
Column() {
Button().onClick(() => {
console.log("aaaa")
})
Button('Click').width(100).height(40)
.onClick((event?: ClickEvent) => {
if (event) {
this.text = 'Click Point:' + '\n windowX:' + event.windowX + '\n windowY:' + event.windowY
+ '\n x:' + event.x + '\n y:' + event.y + 'target:' + '\n component globalPos:('
+ event.target.area.globalPosition.x + ',' + event.target.area.globalPosition.y + ')\n width:'
+ event.target.area.width + '\n height:' + event.target.area.height + '\ntimestamp' + event.timestamp;
}
}, 20)
}
}
}
更多关于HarmonyOS鸿蒙Next中点击事件参数类型的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,点击事件参数类型主要涉及ClickEvent和GestureEvent。ClickEvent用于处理简单的点击操作,事件参数包含触发事件的坐标信息。GestureEvent用于处理更复杂的手势操作,如长按、滑动等,事件参数包含手势类型、坐标、速度等信息。开发者可以通过监听这些事件来实现交互逻辑。
在HarmonyOS鸿蒙Next中,点击事件的参数类型通常为ClickEvent。ClickEvent是Component组件中处理点击事件的回调参数,包含了点击事件的相关信息。开发者可以通过onClick方法监听点击事件,并在回调中处理逻辑。例如:
Button.onClick((event: ClickEvent) => {
console.log("Button clicked!");
});
ClickEvent对象通常包含点击的坐标、时间戳等信息,帮助开发者进行更精细的事件处理。

