HarmonyOS 嵌套组件能否支持state传递或provider、consumer?
Consulting description: 嵌套组件能否支持state传递或provider、consumer,这样封装组件会方便一点
例如:
Map.ets代码:
import { map } from '@kit.MapKit';
import { AsyncCallback } from '@kit.BasicServicesKit';
import MapComponent from './MapContainer';
@Entry
@Component
export default struct Map {
private callback?: AsyncCallback<map.MapComponentController>;
@Provide map?: map.MapComponentController = undefined;
aboutToAppear(): void {
this.callback = async (err, mapController) => {
if (!err) {
this.map = mapController;
}
}
}
build() {
Column() {
Stack() {
MapComponent({ callback: this.callback })
}
}.width('100%').height('100%')
}
}
MapMaker代码如下:
import { map, mapCommon } from '@kit.MapKit';
@Component
export default struct MapMarker {
// Marker初始化参数
options?: mapCommon.MarkerOptions;
@Consume map?: map.MapComponentController;
async aboutToAppear() {
await this.map?.addMarker(this.options);
}
build() {
}
}
业务如下使用:
Map({...}){
MapMaker({...})
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
Provider的值更新以后,所有Consumer都会刷新吗-
978浏览 • 1回复 待解决
HarmonyOS UI组件能否支持以value形式保存和传递?
242浏览 • 1回复 待解决
HarmonyOS 能否支持状态栏常驻或自启?
226浏览 • 1回复 待解决
多层组件嵌套button,如何阻止事件传递
2096浏览 • 1回复 待解决
子组件事件能否到传递父组件
2413浏览 • 1回复 待解决
HarmonyOS 关于@State或@Link 修饰Array的应用
153浏览 • 1回复 待解决
@State装饰嵌套结构的变量时,为什么嵌套结构中数组元素增加或减少时界面不会刷新
2683浏览 • 1回复 待解决
ArkUI组件能否支持继承
1428浏览 • 1回复 待解决
HarmonyOS Image组件能否支持heic格式图片
54浏览 • 1回复 待解决
能否嵌套定义 Record<string,Record>
1931浏览 • 1回复 待解决
HarmonyOS @State修饰的class变量没有嵌套的值无法监听
264浏览 • 1回复 待解决
scroll中嵌套一个或多个grid,如何实现嵌套滚动?
2215浏览 • 1回复 待解决
使用LazyForEach嵌套LazyForEach(或ForEach)显示异常。
837浏览 • 1回复 待解决
HarmonyOS ZIP压缩时能否支持inFile传入多个文件,或同一个文件路径下支持文件过滤?
419浏览 • 1回复 待解决
HarmonyOS @Provider与@Consume的数据交互方式
142浏览 • 1回复 待解决
WaterFlow组件能否支持在瀑布流中间穿插一个或多个占满一行的item的能力
2102浏览 • 1回复 待解决
HarmonyOS ArkUI 嵌套组件问题
38浏览 • 1回复 待解决
HarmonyOS 组件嵌套问题
385浏览 • 1回复 待解决
HarmonyOS Web组件嵌套在Scroll布局中或List布局中,如何实现Web组件高度根据内容自适应
399浏览 • 1回复 待解决
HarmonyOS @builder创建的组件能否支持在外部设置宽高
418浏览 • 1回复 待解决
HarmonyOS Tabs组件嵌套Tabs组件问题
818浏览 • 1回复 待解决
HarmonyOS sendable能否支持pixelmap类型
35浏览 • 1回复 待解决
HarmonyOS Tabs组件嵌套滑动
402浏览 • 1回复 待解决
HarmonyOS 消息总栈 ,用于方便页面间信息传递的消息总栈的组件或框架?
237浏览 • 0回复 待解决
目前自定义组件内嵌套是支持的,需要使用@BuilderParam
您是想在父组件Map中初始化一次MapComponentController后,在后代组件能支持调用controller的方法,同时又不想通过一层层透传的方式传递controller。
在此场景下,开发者您所说的@Provide-@Consume方案是可行的,通过相同变量名或相同key的方式实现祖先组件和后代组件的成员双向绑定,详细使用文档可以参考:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-provide-and-consume-V5
样例代码如下: