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
待解决
相关问题
如何实现按钮的点击效果?
344浏览 • 2回复 待解决
预览器@builder封装的组件不支持@priview预览
45浏览 • 1回复 待解决
Refresh组件不支持设置nestedScroll属性
1806浏览 • 1回复 待解决
如何实现通用的吸顶效果
586浏览 • 1回复 待解决
arkts语言中如何实现点击button按钮跳转到tabs组件中的指定页签?
1947浏览 • 1回复 待解决
linear-gradient不支持start,end属性
745浏览 • 1回复 待解决
tabs组件不支持前后设置其他组件,也不支持前后tabs设置margin属性
1098浏览 • 1回复 待解决
HarmonyOS 如何设置组件点击效果(非button组件)?
165浏览 • 1回复 待解决
Button等控件设置点击效果
877浏览 • 1回复 待解决
应用开发中的CSS不支持伪元素吗?
6454浏览 • 1回复 待解决
c++底层的openssl库不支持,boost库的asio异步通讯库不支持,libuv无法实现https的请求
42浏览 • 1回复 待解决
HarmonyOS filePreview 不支持pdf文件的预览 ?
15浏览 • 0回复 待解决
HarmonyOS filePreview 不支持pdf文件的预览
530浏览 • 1回复 待解决
ArkTS TabContent除支持通用属性外,还支持以下属性tabBar,这个如何实现?
368浏览 • 1回复 待解决
鸿蒙js开发ui不支持transition-duration这个属性吗?那要怎么简便的写按钮按下动画呢?
6446浏览 • 1回复 待解决
arkts中不支持bigint数据类型
1865浏览 • 1回复 待解决
@BuilderParam 不支持普通class的变量
689浏览 • 1回复 待解决
#鸿蒙学习大百科#预览器@builder封装的组件不支持@priview预览
130浏览 • 1回复 待解决
如何禁止Button的点击事件?
394浏览 • 1回复 待解决
Panel不支持水平方向的拖拉
602浏览 • 1回复 待解决
web组件不支持localstorage
708浏览 • 1回复 待解决
是否支持jit和aot(jit不支持,aot支持),如果不支持jit怎么动态下发
2141浏览 • 1回复 待解决
HarmonyOS Next纯HarmonyOS是不支持java lib的调用
288浏览 • 1回复 待解决
HarmonyOS 希望有实现多个按钮效果的Demo
203浏览 • 2回复 待解决
demo如下,大组件被禁用了,没有传递到子组件。