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
待解决
相关问题
如何实现按钮的点击效果?
321浏览 • 2回复 待解决
Refresh组件不支持设置nestedScroll属性
1776浏览 • 1回复 待解决
如何实现通用的吸顶效果
561浏览 • 1回复 待解决
arkts语言中如何实现点击button按钮跳转到tabs组件中的指定页签?
1921浏览 • 1回复 待解决
linear-gradient不支持start,end属性
723浏览 • 1回复 待解决
tabs组件不支持前后设置其他组件,也不支持前后tabs设置margin属性
1075浏览 • 1回复 待解决
HarmonyOS 如何设置组件点击效果(非button组件)?
137浏览 • 1回复 待解决
Button等控件设置点击效果
833浏览 • 1回复 待解决
应用开发中的CSS不支持伪元素吗?
6437浏览 • 1回复 待解决
HarmonyOS filePreview 不支持pdf文件的预览
512浏览 • 1回复 待解决
ArkTS TabContent除支持通用属性外,还支持以下属性tabBar,这个如何实现?
347浏览 • 1回复 待解决
鸿蒙js开发ui不支持transition-duration这个属性吗?那要怎么简便的写按钮按下动画呢?
6418浏览 • 1回复 待解决
#鸿蒙学习大百科#预览器@builder封装的组件不支持@priview预览
100浏览 • 1回复 待解决
arkts中不支持bigint数据类型
1827浏览 • 1回复 待解决
@BuilderParam 不支持普通class的变量
680浏览 • 1回复 待解决
如何禁止Button的点击事件?
359浏览 • 1回复 待解决
是否支持jit和aot(jit不支持,aot支持),如果不支持jit怎么动态下发
2126浏览 • 1回复 待解决
HarmonyOS 不支持通过索引访问字段
90浏览 • 1回复 待解决
HarmonyOS Object不支持 ... 展开符吗?
83浏览 • 1回复 待解决
Panel不支持水平方向的拖拉
579浏览 • 1回复 待解决
web组件不支持localstorage
683浏览 • 1回复 待解决
HarmonyOS 希望有实现多个按钮效果的Demo
180浏览 • 2回复 待解决
HarmonyOS Next纯HarmonyOS是不支持java lib的调用
263浏览 • 1回复 待解决
Image组件不支持读入沙盒内的图片
755浏览 • 1回复 待解决
demo如下,大组件被禁用了,没有传递到子组件。