$multi<TValue> method

  1. @protected
List<Widget> $multi<TValue>(
  1. Iterable<ValueListenable<TValue>> valueListeneables, {
  2. required Widget builder(
    1. BuildContext context,
    2. TValue value,
    3. Widget? child,
    4. int index,
    5. ValueListenable<TValue> valueListeneable,
    ),
  3. Widget? childBuilder(
    1. int index
    )?,
})

构建多个 Widget

valueListeneables 指定 ValueListenable 集合 当 ValueListenable 值发生变更时, 使用 builder 构建 Widget

childBuilder 用于构建向 builder 中传入的 Widget

Implementation

@protected
List<Widget> $multi<TValue>(
        Iterable<ValueListenable<TValue>> valueListeneables,
        {required Widget Function(
                BuildContext context,
                TValue value,
                Widget? child,
                int index,
                ValueListenable<TValue> valueListeneable)
            builder,
        Widget? Function(int index)? childBuilder}) =>
    List.generate(valueListeneables.length, (index) {
      var element = valueListeneables.elementAt(index);
      return $build<TValue>(element,
          builder: (context, value, child) =>
              builder(context, value, child, index, element),
          child: childBuilder?.call(index));
    });