RocketView constructor
RocketView({
- Key? key,
- required RocketModel model,
- required Widget builder(),
- dynamic call() = _myDefaultFunc,
- CallType callType = CallType.callAsFuture,
- int secondsOfStream = 1,
- Widget? loader,
- Widget onError(
- RocketException error,
- dynamic reload()
انشاء البناء الخاص باعادة بناء المحتويات الخاصة به.
النموذج الذي يحتوي على البيانات المراد تجديدها
البناء دالة ترجع المحتويات المراد اعادة بناءها لتغيير قيمها
الجزء الخاص بانتظار تحميل البيانات و هو اختياري
الدالة الخاصة بطلب البيانات من لخادم
طريقة استدعاء الدالة
في حالة اختيار call عدد الثواني لاعادة استدعاء دالة CallType.callAsStream
onError لبناء الواجهة الخاصة باظهار اي خطأ ويتم تمرير كائن يحمل الاخطأ التي حدثت
Implementation
RocketView({
Key? key,
required this.model,
required this.builder,
this.call = _myDefaultFunc,
this.callType = CallType.callAsFuture,
this.secondsOfStream = 1,
this.loader,
this.onError,
}) {
model.load(true);
/// call التحقق من طريقة الاستدعاء لدالة
switch (callType) {
case CallType.callAsFuture:
Future.value(call()).whenComplete(() => model.load(false));
break;
case CallType.callIfModelEmpty:
if (!model.existData) {
Future.value(call()).whenComplete(() => model.load(false));
}
break;
case CallType.callAsStream:
Future.value(call()).whenComplete(() => model.load(false));
Timer.periodic(Duration(seconds: secondsOfStream), (timer) {
model.loadingChecking(true);
call();
if (!model.hasListener()) timer.cancel();
});
break;
}
}