Flutter 传递函数两级深度不工作
我对祖父母有一个作用。我把它传给父母,父母把它传给孩子。该函数在子对象上调用。预期的行为是执行祖父母上的函数,但不是。什么也没发生。出于测试目的,我还在父级上添加了一个按钮,该按钮可以正常工作 因此,应该发生的是:当点击子级上的listTile时,控制台上应该出现“从父级打印” 祖父母片段:Flutter 传递函数两级深度不工作,flutter,Flutter,我对祖父母有一个作用。我把它传给父母,父母把它传给孩子。该函数在子对象上调用。预期的行为是执行祖父母上的函数,但不是。什么也没发生。出于测试目的,我还在父级上添加了一个按钮,该按钮可以正常工作 因此,应该发生的是:当点击子级上的listTile时,控制台上应该出现“从父级打印” 祖父母片段: StateLoaded( vm: vm, procesStatus: _procesStatus, onTapChange: () => print('print from pare
StateLoaded(
vm: vm,
procesStatus: _procesStatus,
onTapChange: () => print('print from parent'),
),
class StateLoaded extends StatelessWidget {
const StateLoaded({
@required this.vm,
@required ProcesStatus procesStatus,
@required this.onTapChange,
}) : _procesStatus = procesStatus;
final AuthViewModel vm;
final ProcesStatus _procesStatus;
final Function() onTapChange;
@override
Widget build(BuildContext context) {
return Visibility(
visible: vm.failureVm.failure == null &&
vm.isAuth &&
_procesStatus == ProcesStatus.loaded,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
SizedBox(height: 8),
Avatar(),
Divider(),
UserName(vm: vm, onTapChange: onTapChange),
父代码段:
StateLoaded(
vm: vm,
procesStatus: _procesStatus,
onTapChange: () => print('print from parent'),
),
class StateLoaded extends StatelessWidget {
const StateLoaded({
@required this.vm,
@required ProcesStatus procesStatus,
@required this.onTapChange,
}) : _procesStatus = procesStatus;
final AuthViewModel vm;
final ProcesStatus _procesStatus;
final Function() onTapChange;
@override
Widget build(BuildContext context) {
return Visibility(
visible: vm.failureVm.failure == null &&
vm.isAuth &&
_procesStatus == ProcesStatus.loaded,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
SizedBox(height: 8),
Avatar(),
Divider(),
UserName(vm: vm, onTapChange: onTapChange),
ListTile子级上的onTap错误 有两种方法可以纠正它:
onTap: onTapChange,
或
ListTile子级上的onTap错误 有两种方法可以纠正它:
onTap: onTapChange,
或
哇,我为此挣扎了好几个小时。谢谢你的快速回答。这两种方法都有效。哇,我为此挣扎了好几个小时。谢谢你的快速回答。这两种方法都有效。