$anyMapFor<TValue> method

Widget $anyMapFor<TValue>(
  1. Map<Object, MapBehavior<TValue>?> prepertyKeyMap, {
  2. required ValueWidgetBuilder<Map<Object, TValue>> builder,
  3. Widget? child,
})

绑定到指定属性集合, 当任一 prepertyKeyMap 中对应的绑定属性值发生变化时, 使用 builder 构建 Widget

builder 方法中 TValue 将被包装为 Map<Object, TValue>

child 用于向构建方法中传入 Widget

// example
@override
Widget build(BuildContext context) {
  return $anyMapFor<String>(const {
    #account: MapBehavior(toKey: #account1), #password: null },
    builder: (context, values, child) =>
        Text("${values[#account1]} - ${values[#password]}"));
}

Implementation

Widget $anyMapFor<TValue>(Map<Object, MapBehavior<TValue>?> prepertyKeyMap,
        {required ValueWidgetBuilder<Map<Object, TValue>> builder,
        Widget? child}) =>
    $build(
        MergeMapBindableProperty<TValue>(prepertyKeyMap.map((key, value) =>
            MapEntry(value?.toKey ?? key,
                ensureProperty(key, initialValue: value?.initialValue)))),
        builder: builder,
        child: child);