HarmonyOS Button的拓展属性中不支持stateStyles,如何封装实现按钮的通用点击效果?
问题描述:我们在封装通用组件时,考虑使用两种方案:
第一种:直接封装组件,这样做存在一个问题,就是在其他页面引入组件后,把组件enable设置为false,无法触发组件内Button的stateStyles,按钮颜色未变为红色。
@Component
export struct CommonButton {
text = '按钮'
onClickEvent = () => {
};
build() {
Button(this.text, { type: ButtonType.Normal })
.fontSize(16)
.height(48)
.borderRadius(8)
.backgroundColor('#00CE83')
.stateStyles({
disabled: {
.backgroundColor(Color.Red)
}
})
.width('100%')
}
}
第二种:使用封装拓展样式@Extend在使用Button的拓展属性@Extend(Button),给按钮设置通用点击样式stateStyles,但是此时编译器报错“Identifier expected. <ArkTSCheck>”。
@Extend(Button)
function commonButtonStyle() {
.fontSize(16)
.height(48)
.borderRadius(8)
.backgroundColor('#00CE83')
.stateStyles({
disabled: {
//此处 . 报错 Identifier expected.
.backgroundColor(Color.Red)
}
})
.width('100%')
}
请问有没有办法实现封装通用 按钮,并且可以stateStyles内的属性生效?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
如何实现按钮的点击效果?
291浏览 • 2回复 待解决
Refresh组件不支持设置nestedScroll属性
1764浏览 • 1回复 待解决
如何实现通用的吸顶效果
529浏览 • 1回复 待解决
arkts语言中如何实现点击button按钮跳转到tabs组件中的指定页签?
1913浏览 • 1回复 待解决
linear-gradient不支持start,end属性
712浏览 • 1回复 待解决
tabs组件不支持前后设置其他组件,也不支持前后tabs设置margin属性
1053浏览 • 1回复 待解决
HarmonyOS 如何设置组件点击效果(非button组件)?
120浏览 • 1回复 待解决
HarmonyOS filePreview 不支持pdf文件的预览
494浏览 • 1回复 待解决
应用开发中的CSS不支持伪元素吗?
6406浏览 • 1回复 待解决
ArkTS TabContent除支持通用属性外,还支持以下属性tabBar,这个如何实现?
312浏览 • 1回复 待解决
Button等控件设置点击效果
809浏览 • 1回复 待解决
arkts中不支持bigint数据类型
1810浏览 • 1回复 待解决
鸿蒙js开发ui不支持transition-duration这个属性吗?那要怎么简便的写按钮按下动画呢?
6411浏览 • 1回复 待解决
@BuilderParam 不支持普通class的变量
673浏览 • 1回复 待解决
#鸿蒙学习大百科#预览器@builder封装的组件不支持@priview预览
71浏览 • 1回复 待解决
Panel不支持水平方向的拖拉
569浏览 • 1回复 待解决
HarmonyOS Next纯HarmonyOS是不支持java lib的调用
243浏览 • 1回复 待解决
web组件不支持localstorage
665浏览 • 1回复 待解决
如何禁止Button的点击事件?
341浏览 • 1回复 待解决
HarmonyOS Object不支持 ... 展开符吗?
58浏览 • 1回复 待解决
HarmonyOS 不支持通过索引访问字段
62浏览 • 1回复 待解决
是否支持jit和aot(jit不支持,aot支持),如果不支持jit怎么动态下发
2116浏览 • 1回复 待解决
HarmonyOS 希望有实现多个按钮效果的Demo
172浏览 • 2回复 待解决
harmonyos技术社区的博客文档支不支持版本?
13986浏览 • 3回复 待解决
demo如下,大组件被禁用了,没有传递到子组件。