HarmonyOS 组件变量被@Link修饰,如何使用ForEach批量创建组件
class GreenButtonState {
width: number = 0;
constructor(width: number) {
this.width = width;
}
}
@Component
struct GreenButton {
@Link greenButtonState: GreenButtonState;
build() {
Button('Green Button')
.width(this.greenButtonState.width)
.height(40)
.backgroundColor('#64bb5c')
.fontColor('#FFFFFF,90%')
.onClick(() => {
if (this.greenButtonState.width < 700) {
// 更新class的属性,变化可以被观察到同步回父组件
this.greenButtonState.width += 60;
} else {
// 更新class,变化可以被观察到同步回父组件
this.greenButtonState = new GreenButtonState(180);
}
})
}
}
@Component
struct YellowButton {
@Link yellowButtonState: number;
build() {
Button('Yellow Button')
.width(this.yellowButtonState)
.height(40)
.backgroundColor('#f7ce00')
.fontColor('#FFFFFF,90%')
.onClick(() => {
// 子组件的简单类型可以同步回父组件
this.yellowButtonState += 40.0;
})
}
}
@Entry
@Component
struct ShufflingContainer {
build() {
Column() {
Swiper(this.swiperController) {
ForEach(this.data, (item: GreenButtonState , index: number) => {
这里如何批量创建GreenButton 和YellowButton
})
}
}
}
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
子组件使用@Link修饰成员变量时,如何通过父组件传值
2806浏览 • 1回复 待解决
使用ForEach组件在点击后如何获得被点击的子组件的索引?
2434浏览 • 1回复 待解决
HarmonyOS 使用ObserverV2的时候,如何传递被@Trace修饰变量的引用?
891浏览 • 1回复 待解决
父组件与子组件使用@Link双向同步
2321浏览 • 1回复 待解决
HarmonyOS 使用@Entry修饰的组件如何将onBackPress事件传递给非@Entry修饰的子组件
897浏览 • 1回复 待解决
HarmonyOS 组件复用,如果状态变量是用prop或者ObjectLink修饰时触发aboutToReuse前,值已经被修改
940浏览 • 1回复 待解决
HarmonyOS 如何在组件中使用临时变量?
1476浏览 • 1回复 待解决
HarmonyOS 关于@State或@Link 修饰Array的应用
1150浏览 • 1回复 待解决
HarmonyOS 关于List组件使用ForEach渲染刷新的问题
1190浏览 • 1回复 待解决
HarmonyOS 如何通过变量将@Builder修饰的自定义view传递到子组件中?
956浏览 • 1回复 待解决
一个自定义组件内某一时机批量刷新多个@State修饰的状态变量,是否会影响性能
934浏览 • 1回复 待解决
HarmonyOS 批量修改子组件的颜色
773浏览 • 1回复 待解决
HarmonyOS 使用@Entry修饰的组件不走onPageShow方法
989浏览 • 1回复 待解决
HarmonyOS lazyForEach里面组件复用,如果组件里面是@ObjectLink修饰的某个状态变量该怎么重用
778浏览 • 1回复 待解决
@ObjectLink使用在@Entry修饰的组件中报错
1612浏览 • 1回复 待解决
自定义组件中,批量更新多个状态变量 vs 批量更新多个非状态变量后更新一个UI无关状态变量强制更新UI
2868浏览 • 1回复 待解决
django怎么解决批量创建用户问题?
5655浏览 • 1回复 待解决
HarmonyOS 使用Component修饰的组件,onPageShow和onPageHide不触发
1513浏览 • 1回复 待解决
HarmonyOS 如何在业务代码里创建Web组件以实现预加载批量URL和获取web的UserAgent给业务使用
1503浏览 • 1回复 待解决
使用@LocalStorageProp修饰的变量,当子组件中的变量值变了,@Entry页面中的值没有发生变化。
1371浏览 • 1回复 待解决
HarmonyOS ArkTS中如何使用变量名组件(类似react)
851浏览 • 1回复 待解决
组件属性width是否支持使用变量定义
1248浏览 • 1回复 待解决
HarmonyOS @Link使用问题
970浏览 • 1回复 待解决
使用ForEach/LazyForEach渲染语法渲染组件,组件仅显示一个或者丢失部分子组件。
1491浏览 • 1回复 待解决
HarmonyOS ui组件内部如何定义变量
1032浏览 • 1回复 待解决
在初始化渲染时,foreach会加载数据源的所有数据,并为每个数据创建对应的组件,然后将其挂载到渲染树上,如果数据源非常大或有特定的性能需求,建议使用lazyForEach组件,参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-rendering-control-lazyforeach-0000001820879609-V5#ZH-CN_TOPIC_0000001834460352__idatasource%E7%B1%BB%E5%9E%8B%E8%AF%B4%E6%98%8E