当我将obj数据从列表传递到详细信息页面时,我的数据为空。
我不知道为什么?有人请指向正确的方向。
我使用相同的视图模型(ChangenotifierProvider)。
这是我的列表页面。单击时转到详细信息页面。
Provider.of<DetailViewModel>(context , listen: false).updateData(
DetailCriteria(
Id: id,
Name: contactName,
shopName: shopName,
);
Navigator.pushNamed(context, Routes.DETAILVIEW);
这是DetailViewModel。Base是changenotifier。当我在模型中到达调试数据时。
class AgentDetailViewModel extends BaseViewModel{
DetailCriteria detailCriteria = DetailCriteria();
void updateData(DetailCriteria data){
detailCriteria = data;
notifyListeners();
}
}
当我调用我的detailObj为null时,这是详细信息页面。其他字符串也可以,只有obj null。
@override
Widget build(BuildContext context) {
// TODO: implement build
return MultiProvider(
providers: [
ChangeNotifierProvider<DetailViewModel>(
create: (context) => DetailViewModel(),
),
],
Consumer<DetailViewModel>(
builder: (context , mymodel , child){
return Container(
margin: EdgeInsets.only(left: 18 , right: 18 , top: 12 , bottom: 4),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
agentDetailText(
mymodel.detailCriteria.shopName, 'Agent Name'), //this is custom
到达detailView时我的detailCriteria为空。有人指向我。