我将一个值从以前的 Stateful Widget 屏幕传递到另一个 Stateful Widget 屏幕。为什么我在 searchTermID 调用构造函数之后就失去了它的值?
class DetailScreen extends StatefulWidget {
final int searchTermID;
final String searchTerm;
DetailScreen({Key key, @required this.searchTermID, this.searchTerm})
: super(key: key);
@override
_DetailScreenState createState() =>
_DetailScreenState(searchTermID: searchTermID, searchTerm: searchTerm);
}
class _DetailScreenState extends State<DetailScreen> {
static int searchTermID;
static String searchTerm;
_DetailScreenState({searchTermID, searchTerm});
searchTermID 在这里被取消
List data = getSWData(searchTermID) as List; //edited line
static Future<List> getSWData(searchTermID) async {
var res = await http.get(Uri.encodeFull("http://URLTOAPI" + searchTermID.toString()),
headers: {"Accept": "application/json"});
return json.decode(res.body);
}