когда я запускаю этот код, он показывает ошибку, что правильная scopedmodel не была найдена.Я думаю, что мы должны объявить другую модель области действия для нижнего листа, диалоги также сделали это, используя ту же модель, но она ведет себя ненормально.Как мне добиться того, как использовать модели с областями видимости в таких нижних листах и диалоговых окнах.
Я был новичком в модели с прицелом, любая помощь оценена
import 'package:flutter/material.dart';
import 'package:scoped_model/scoped_model.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
class ResourcesModel extends Model{
String selectsubject = 'Select the subject';
List<String> sublist=[];
change(int index){
debugPrint('${sublist[index]}');
selectsubject=sublist[index];
notifyListeners();
}
fetchsubjects() {
Firestore.instance.collection("resources").document("17csea").get().then((DocumentSnapshot ds){
for (var item in ds['subjects']) {
sublist.add(item);
}
notifyListeners();
});
}
}
class Resources extends StatelessWidget {
final ResourcesModel resourcesModel =ResourcesModel();
void showbottomsheet(context) async{
double height =MediaQuery.of(context).size.height;
await showModalBottomSheet(
context: context,
builder: (context){
return Container(
height: height/2,
child: ScopedModelDescendant<ResourcesModel>(
builder:(context,_,model){
debugPrint('helelel');
return (model.sublist.isEmpty)?Center(child:CircularProgressIndicator()):
ListView.separated(
itemCount: model.sublist.length,
separatorBuilder: (context,_){
return Divider(
color: Theme.of(context).primaryColor,
);
},
itemBuilder: (context,index){
return ListTile(
title: Text(model.sublist[index]),
onTap: model.change(index),
);
},
);
}
),
);
}
);
}
@override
Widget build(BuildContext context) {
return ScpedModel<ResourcesModel>(
model:resourcesmodel,
chilld:ScopedModelDescendant<ResourcesModel>(
builder:(context,_,model){
return Container(
color: Color(0xFFF3F3F3),
child: RaisedButton(
child: Text(model.selectsubject),
onPressed: (){
if(resourcesModel.sublist.isEmpty){
resourcesModel.fetchsubjects();
}
},
),
);
}
),
);
}
}