我正试图将变量从一个类发送到另一个类。我不使用按钮,所以我需要直接发送。我有这样的东西
final Elements elemento; <-- MODEL
final List<Widget> pages = [
new ParcelasDetailsChartPage(elemento: widget.elemento),
new Container(
color: Colors.red,
),
new Container(
color: Colors.blue,
)
];
在ParcelasDetailsChartPage
final Elements elemento;
ParcelasDetailsChartPage({Key key, this.elemento}) : super(key: key);
返回
在初始化器中只能访问静态成员。
执行此操作的正确方法是什么?
答案 0 :(得分:0)
根据您的代码:https://gist.github.com/ElHombreSinNombre/4a9dfcbe98a751e87f705748ae1ca3a5
那是因为在构建上下文准备就绪之前,您无法访问小部件。
更改此内容:
class ParcelasDetailsPageState extends State<ParcelasDetailsPage> {
static final GlobalKey<ScaffoldState> scaffoldKey =
GlobalKey<ScaffoldState>();
int index = 0;
final List<Widget> pages = [
new ParcelasDetailsChartPage(elemento: widget.element),
new Container(
color: Colors.red,
),
new Container(
color: Colors.blue,
)
];
void initState() {
super.initState();
Future.delayed(Duration(seconds: 1)).then((_) => showSnackbar);
}
对此:
class ParcelasDetailsPageState extends State<ParcelasDetailsPage> {
static final GlobalKey<ScaffoldState> scaffoldKey =
GlobalKey<ScaffoldState>();
int index = 0;
List<Widget> pages = List();
void initState() {
super.initState();
pages = [
new ParcelasDetailsChartPage(elemento: widget.element),
new Container(
color: Colors.red,
),
new Container(
color: Colors.blue,
)
];
Future.delayed(Duration(seconds: 1)).then((_) => showSnackbar);
}