gpt4 book ai didi

dart - 如何在 StatefulWidget 上使用构建器函数

转载 作者:IT王子 更新时间:2023-10-29 06:58:09 27 4
gpt4 key购买 nike

我正在尝试创建一个 flutter 应用程序。我正在尝试为这样的英雄标签使用构建器函数:

import 'package:flutter/material.dart';

void main() => runApp(Page());

class Page extends StatefulWidget {

final String open;

Page({this.open});

@override
PageState createState() => PageState();

}

class PageState extends State<Page> {

String open;

@override
Widget build(BuildContext context) {

return MaterialApp (
home: Scaffold (
body: Hero (
tag: open,
child: Material ()
)
)
);
}

}

但是这段代码给我一个错误说

Failed assertion: line 128 pos 15: 'tag != null': is not true

我应该如何更改我的代码?

最佳答案

您需要传递字符串,因为 Page() 需要一个字符串,因此它可以将其分配给 hero 标签。

此外,在 state 中,您可以使用 widget. 方法访问该字符串。

import 'package:flutter/material.dart';

void main() => runApp(Page(
open: 'open', // Add this
));

class Page extends StatefulWidget {
final String open;

Page({this.open});

@override
PageState createState() => PageState();
}

class PageState extends State<Page> {

@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(body: Hero(tag: widget.open, child: Material())));
}
}

关于dart - 如何在 StatefulWidget 上使用构建器函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54923863/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com