HarmonyOS 自定义组件如何把点击事件回调给给父组件
import { YTabEntity } from './YTabEntity'
@Component
export struct YTabBar {
scroller: Scroller = new Scroller()
@State selectIndex: number = 0
@Require @Prop tabData: Array<YTabEntity> = []
@Prop tabHeight: Length = 44
@Prop tabSpace:number|string = 28
@Prop color: ResourceColor = "#333333"
@Prop selectColor: ResourceColor = "#1689FF"
@Prop onTabSelect:(index:number)=>void
build() {
List({ scroller: this.scroller,space:this.tabSpace }) {
ForEach(this.tabData, (item: YTabEntity, index: number) => {
ListItem() {
Column() {
Text(item.showText)
.fontColor(this.selectIndex === index ? this.selectColor : this.color)
.fontWeight(this.selectIndex === index ? FontWeight.Medium : FontWeight.Regular)
.fontSize(16)
.textAlign(TextAlign.Center)
.layoutWeight(1)
.onAreaChange((oldValue: Area, newValue: Area) => {
item.textWidth = Number.parseInt(newValue.width.toString())
console.info(`Ace: on area change, oldValue is${index} ${JSON.stringify(oldValue)} value is ${JSON.stringify(newValue)}`)
})
Shape()
.width(item.textWidth ?? 36)
.height(2)
.borderRadius(2)
.backgroundColor(this.selectColor)
.visibility(this.selectIndex === index ? Visibility.Visible : Visibility.Hidden)
}.height('100%')
.padding({ top: 6 })
}.height('100%')
.onClick(()=>{
this.selectIndex = index
// this.onTabSelect(index)
const nextIndex = index+1
if (nextIndex<this.tabData.length) {
this.scroller.scrollToIndex(nextIndex,true,ScrollAlign.END)
}
})
})
}.height(this.tabHeight)
.listDirection(Axis.Horizontal)
.scrollBar(BarState.Off)
}
}
如何把这个List item的点击事件回调给上一级
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 子组件如何抛出自定义事件给父组件进行操作
876浏览 • 1回复 待解决
HarmonyOS 自定义组件父组件如何给子组件传递数据
1071浏览 • 1回复 待解决
HarmonyOS 自定义了一个组件,如何自定义事件?使其能在父组件使用其自定义事件
1064浏览 • 1回复 待解决
HarmonyOS 自定义组件如何传递点击事件?
1048浏览 • 1回复 待解决
ArkUI如何实现自定义组件传递点击事件
6190浏览 • 2回复 待解决
HarmonyOS 自定义组件时,把方法回调当做参数传递
1696浏览 • 1回复 待解决
HarmonyOS 关于给父组件添加Padding之后,子组件点击事件发生偏移
812浏览 • 1回复 待解决
HarmonyOS 自定义组件如何写自定义事件?
1869浏览 • 1回复 待解决
HarmonyOS 使用混合开发,自定义的ArkTS组件,CAPI侧如何监听自定义组件的事件回调?
1053浏览 • 1回复 待解决
HarmonyOS 弹窗父组件的滑动事件穿透给子组件,禁止子组件滑动,允许点击事件传透
1493浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在父组件中引入自定义组件并响应子组件事件?
839浏览 • 1回复 待解决
HarmonyOS 父页面如何调用自定义组件内自定义方法
1440浏览 • 1回复 待解决
harmony页面开发父组件如何传递事件方法给子组件,通过子组件可以进行回调反馈?
2352浏览 • 2回复 待解决
请问自定义组件内的点击事件时机要怎样传给调用自定义组件的页面里来?
1292浏览 • 1回复 待解决
HarmonyOS UI组件自定义点击范围
1530浏览 • 1回复 待解决
父组件中如何处理子组件内点击事件
3922浏览 • 1回复 待解决
HarmonyOS 自定义组件时怎样把组件当作参数传递?
1522浏览 • 1回复 待解决
HarmonyOS 自定义组件的事件处理
1551浏览 • 1回复 待解决
组件自定义回调函数实现
1664浏览 • 1回复 待解决
HarmonyOS 组件是否支持自定义事件
1033浏览 • 1回复 待解决
arkUI自定义组件,父组件如何获取子组件对象,调用其方法
6475浏览 • 1回复 待解决
自定义组件的手势监听会和其他组件点击事件一起触发。
4453浏览 • 1回复 待解决
HarmonyOS API 11 中自定义子组件如何调用父组件中的方法
1023浏览 • 1回复 待解决
定义父子组件,父组件如何获取子组件的事件
1363浏览 • 1回复 待解决
HarmonyOS 自定义组件有没有方法可以获取它的父组件
1217浏览 • 1回复 待解决
可以定义一个controller类,在controller类中定义和子组件中类型相同的方法,在子组件中将实际封装的方法给到controller。
父组件在使用时,new一个controller对象然后转入子类中,在父组件中调用controller对应的方法即可