1234567891011121314151617181920212223242526272829303132 |
- import 'package:flutter/material.dart';
- import 'package:get/get.dart';
- import 'empty_controller.dart';
- import 'global_key_factory.dart';
- abstract class BaseStatefulPage<C extends GetxController> extends StatefulWidget {
- BaseStatefulPage({Key? key}) : super(key: key ?? GlobalKeyFactory.createGlobalKey()) {
- _createController();
- }
- C? _controller;
- C get controller => _controller ?? EmptyController() as C ;
- void _createController() {
- try {
- _controller = GetInstance().put<C>(createRawController(), tag: key?.toString());
- } catch (e) {
- e.printError();
- _controller = null;
- }
- }
- C createRawController();
- }
|