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
待解决
相关问题
如何实现按钮的点击效果?
1611浏览 • 2回复 待解决
HarmonyOS 如何实现按钮点击的波纹效果
751浏览 • 1回复 待解决
预览器@builder封装的组件不支持@priview预览
1146浏览 • 1回复 待解决
HarmonyOS javaScriptProxy不支持设置对象属性调用
1078浏览 • 1回复 待解决
Refresh组件不支持设置nestedScroll属性
2957浏览 • 1回复 待解决
如何实现通用的吸顶效果
1502浏览 • 1回复 待解决
HarmonyOS RNOH Switch组件支不支持trackColor属性
954浏览 • 1回复 待解决
linear-gradient不支持start,end属性
1566浏览 • 1回复 待解决
arkts语言中如何实现点击button按钮跳转到tabs组件中的指定页签?
3248浏览 • 1回复 待解决
HarmonyOS @ohos.measure (文本计算) 不支持lineSpacing属性
964浏览 • 1回复 待解决
tabs组件不支持前后设置其他组件,也不支持前后tabs设置margin属性
2621浏览 • 1回复 待解决
HarmonyOS ArkWeb不支持css属性:-webkit-overflow-scrolling: touch
822浏览 • 1回复 待解决
HarmonyOS Text的Span不支持align
991浏览 • 1回复 待解决
c++底层的openssl库不支持,boost库的asio异步通讯库不支持,libuv无法实现https的请求
1048浏览 • 1回复 待解决
应用开发中的CSS不支持伪元素吗?
7984浏览 • 1回复 待解决
HarmonyOS 如何设置组件点击效果(非button组件)?
1454浏览 • 1回复 待解决
ArkTS TabContent除支持通用属性外,还支持以下属性tabBar,这个如何实现?
1050浏览 • 1回复 待解决
鸿蒙js开发ui不支持transition-duration这个属性吗?那要怎么简便的写按钮按下动画呢?
7270浏览 • 1回复 待解决
HarmonyOS filePreview 不支持pdf文件的预览
1807浏览 • 1回复 待解决
HarmonyOS filePreview 不支持pdf文件的预览 ?
1269浏览 • 0回复 待解决
HarmonyOS 编码集不支持
1038浏览 • 1回复 待解决
HarmonyOS 推送设备不支持
1601浏览 • 1回复 待解决
@BuilderParam 不支持普通class的变量
1770浏览 • 1回复 待解决
HarmonyOS 自定义的组件如何封装一些通用的属性和方法,例如 Java 中的继承
975浏览 • 1回复 待解决
HarmonyOS ArkTD不支持any,如何替换
1254浏览 • 1回复 待解决
demo如下,大组件被禁用了,没有传递到子组件。