$if<TValue> method
Widget
$if<TValue>(
- ValueListenable<
TValue> valueListenable, { - required ValueWidgetBuilder<
TValue> builder, - Widget? child,
- bool valueHandle(
- TValue
绑定到指定 ValueListenable, 当 valueListenable
值发生变化时,
若值判定结果为 true
则使用 builder
构建 Widget, 否则不构建 Widget
当值类型不为 bool 时, 非 null
即被判定为 true
, 否则为 false
可通过指定 valueHandle
对值进行处理
child
用于向构建方法中传入 Widget
// example
final bp1$ = BindableProperty.$value(initial: 1);
@override
Widget build(BuildContext context) {
return $if<int>(bp1$,
builder: (context, value, child) => Text("tom!"),
valueHandle: (value) => value == 1);
}
Implementation
Widget $if<TValue>(ValueListenable<TValue> valueListenable,
{required ValueWidgetBuilder<TValue> builder,
Widget? child,
bool Function(TValue)? valueHandle}) =>
$cond(valueListenable,
$true: builder, child: child, valueHandle: valueHandle);