$anyMap<TValue> method

Widget $anyMap<TValue>(
  1. Map<Object, ValueListenable<TValue>> map, {
  2. required ValueWidgetBuilder<Map<Object, TValue>> builder,
  3. Widget? child,
})

绑定到指定 Map 键集合, 当 map 中任一 ValueListenable 值发生变化时, 使用 builder 构建 Widget

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

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

// example
final bp1$ = BindableProperty.$value(initial: "hello1.");
final bp2$ = BindableProperty.$value(initial: "hello2.");
@override
Widget build(BuildContext context) {
  return $anyMap<String>(const {
    #account: bp1$, #password: bp2$ },
    builder: (context, values, child) =>
        Text("${values[#account]} - ${values[#password]}"));
}

Implementation

Widget $anyMap<TValue>(Map<Object, ValueListenable<TValue>> map,
        {required ValueWidgetBuilder<Map<Object, TValue>> builder,
        Widget? child}) =>
    $build(MergeMapBindableProperty<TValue>(map),
        builder: builder, child: child);