HarmonyOS 鸿蒙Next 有支持stateStyles且可以自定义子组件的组件吗 checkbox 好像不支持
HarmonyOS 鸿蒙Next 有支持stateStyles且可以自定义子组件的组件吗 checkbox 好像不支持
有支持stateStyles且可以自定义子组件的组件吗 checkbox 好像不支持
二选一的这种切换,且切换后有选中状态
2 回复
[@Entry](/user/Entry)
[@Component](/user/Component)
struct CheckBoxPage {
[@State](/user/State) bgc: string = '#ff44bf8a'
[@State](/user/State) select: boolean = true
build() {
Column() {
Flex({ justifyContent: FlexAlign.SpaceBetween }) {
Stack() {
Row() {
Image($r('app.media.startIcon'))
.width(40)
.height(40)
Text('支付宝')
}
.padding(5)
.border({ width: 1, color: !this.select ? '#ffd1a8e5' : '#ffc4cac7' })
.backgroundColor(!this.select ? '#ffba94cd' : '#ffc4cac7')
.justifyContent(FlexAlign.Center)
.width(150)
.borderRadius(5)
if (!this.select) {
Polygon({ width: 20, height: 20 })
.points([[10, 10], [15, 0], [20, 10]])
.fill('#ffc9acd7')
.position({ top: -10, left: 10 })
}
}
.onClick(() => {
this.select = !this.select
})
Stack() {
Row() {
Image($r('app.media.startIcon'))
.width(40)
.height(40)
Text('微信')
}
.padding(5)
.border({ width: 1, color: this.select ? '#ffd1a8e5' : '#ffc4cac7' })
.backgroundColor(this.select ? '#ffba94cd' : '#ffc4cac7')
.justifyContent(FlexAlign.Center)
.width(150)
.borderRadius(5)
if (this.select) {
Polygon({ width: 20, height: 20 })
.points([[10, 10], [15, 0], [20, 10]])
.fill('#ffc9acd7')
.position({ top: -10, left: 10 })
}
}
.onClick(() => {
this.select = !this.select
})
}
.padding(10)
.height(100)
.width('100%')
}
}
}
HarmonyOS 鸿蒙Next 支持stateStyles且可以自定义子组件的组件
HarmonyOS 鸿蒙Next确实支持stateStyles,这一功能允许开发者为组件设置不同状态下的样式,从API Version 8开始就已经得到支持。同时,鸿蒙系统也支持自定义子组件,开发者可以根据自己的需求创建和封装组件,提高开发效率和代码复用性。
至于checkbox组件,它本身是一个基础组件,用于提供多选项功能。虽然checkbox组件本身可能不直接支持某些高级的自定义功能,但你可以通过将其封装在自定义组件中,并结合stateStyles来实现更复杂的样式和行为。
如果你发现checkbox组件在特定场景下无法满足需求,可以尝试通过自定义组件的方式来解决。此外,也请确保你的鸿蒙系统已经更新到支持这些特性的版本。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。