class Home extends StatefulWidget {
const Home({
super.key,
this.controller,
});
final ZoomDrawerController? controller;
@override
State createState() => _HomeState();
}
class _HomeState extends State {
@override
initState() {
super.initState();
_getUsername();
}
String username = '';
bool isLoadingUsername = false;
@override
Widget build(BuildContext context) {
return Material(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
widget.controller != null
? HomeBackground(
onPressed: () => widget.controller!.toggle!(),
title: isLoadingUsername
? 'Cargando...'
: username.isNotEmpty
? 'Hola,$username'
: 'Hola, Invitado!',
desc: 'It s time for build your dream\napplication',
sidebarIcon: Icons.menu,
)
: const CircularProgressIndicator(),
const Column(
mainAxisAlignment: MainAxisAlignment.end,
children: [
HomeTypeContent(
title: 'Choose a Category',
),
HomeContent()
],
),
],
),
);
}
}
Я пытался передать ZoomDrawerController в качестве параметра функции getScreen, которая сохраняет разделы внутри mainScreen, поэтому кнопка, открывающая боковую панель, должна получить этот контроллер, но она продолжает получать нулевое значение. после входа и выхода.
[code] class Home extends StatefulWidget { const Home({ super.key, this.controller, }); final ZoomDrawerController? controller; @override State createState() => _HomeState(); }
class _HomeState extends State { @override initState() { super.initState(); _getUsername(); }
@override Widget build(BuildContext context) { return Material( child: Column( mainAxisAlignment: MainAxisAlignment.start, children: [ widget.controller != null ? HomeBackground( onPressed: () => widget.controller!.toggle!(), title: isLoadingUsername ? 'Cargando...' : username.isNotEmpty ? 'Hola,$username' : 'Hola, Invitado!', desc: 'It s time for build your dream\napplication', sidebarIcon: Icons.menu, ) : const CircularProgressIndicator(), const Column( mainAxisAlignment: MainAxisAlignment.end, children: [ HomeTypeContent( title: 'Choose a Category', ), HomeContent() ], ), ], ), ); } } [/code] Я пытался передать ZoomDrawerController в качестве параметра функции getScreen, которая сохраняет разделы внутри mainScreen, поэтому кнопка, открывающая боковую панель, должна получить этот контроллер, но она продолжает получать нулевое значение. после входа и выхода.