$condFor<TValue> method
Widget
$condFor<TValue>(
- Object propertyKey, {
- ValueWidgetBuilder<
TValue> ? $true, - ValueWidgetBuilder<
TValue> ? $false, - Widget? child,
- bool valueHandle(
- TValue
- TValue? initialValue,
绑定到指定属性, 当 propertyKey
对应属性值发生变化时,
若值判定结果为 true
则使用 $true
构建 Widget, 否则使用 $false
构建 Widget
当值类型不为 bool 时, 非 null
即被判定为 true
, 否则为 false
可通过指定 valueHandle
对值进行处理
child
用于向构建方法中传入 Widget
// example
@override
Widget build(BuildContext context) {
return $condFor<String>(#account,
$true: (context, value, child) => Text("tom!"),
$false: (context, value, child) => Text("jerry!"),
valueHandle: (value) => value == "tom");
}
Implementation
Widget $condFor<TValue>(Object propertyKey,
{ValueWidgetBuilder<TValue>? $true,
ValueWidgetBuilder<TValue>? $false,
Widget? child,
bool Function(TValue)? valueHandle,
TValue? initialValue}) =>
$cond<TValue>(
ensureProperty<TValue>(propertyKey, initialValue: initialValue),
$true: $true,
$false: $false,
child: child,
valueHandle: valueHandle);