mixin_state.dart
1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import 'package:flutter/widgets.dart';
import '../rx/rx_widgets/rx_obx_widget.dart';
import 'get_state.dart';
class MixinBuilder<T extends GetxController> extends StatelessWidget {
@required
final Widget Function(T) builder;
final bool global;
final String id;
final bool autoRemove;
final void Function(State state) initState, dispose, didChangeDependencies;
final void Function(GetBuilder oldWidget, State state) didUpdateWidget;
final T init;
const MixinBuilder({
Key key,
this.init,
this.global = true,
this.builder,
this.autoRemove = true,
this.initState,
this.dispose,
this.id,
this.didChangeDependencies,
this.didUpdateWidget,
}) : assert(builder != null),
super(key: key);
@override
Widget build(BuildContext context) {
return GetBuilder<T>(
init: init,
global: global,
autoRemove: autoRemove,
initState: initState,
dispose: dispose,
id: id,
didChangeDependencies: didChangeDependencies,
didUpdateWidget: didUpdateWidget,
builder: (controller) => Obx(() => builder.call(controller)));
}
}