标签: flutter-onpressed

使用带有 RaisingButton onPressed() 的异步函数将对象传递到另一个路由

我希望能够按下按钮并导航到另一个屏幕,同时传递对象作为参数。该对象是使用不同 dart 文件中的 getPlayer() 函数创建的;因此,异步函数。每当我运行代码时,我都会收到错误:

Error: This expression has type 'void' and can't be used. onPressed: loadPlayerCard('nebula'),

这是代码:

    class _HomeState extends State<Home> {

  List<Player> players;

   void loadPlayerCard (String playerName) async {
    Player player = await getPlayer(playerName);
    players.add(player);

    Navigator.pushNamed(context, '/playerCard', arguments: player);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.grey[900],
      appBar: AppBar(
        title: Text('Smash Tracker'),
        centerTitle: true,
        backgroundColor: Colors.grey[850],
        elevation: 0,
      ),
      body: Center(
        child: RaisedButton.icon(
            onPressed: loadPlayerCard('nebula'), //This is where the error message points to 
            icon: Icon(Icons.touch_app),
            label: …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-onpressed

4
推荐指数
1
解决办法
7244
查看次数

从 flutter 中的现有列表创建一个新列表;根据对新列表的操作更改两个列表

我正在从现有列表中创建一个列表,当我使用这个新列表并对其执行一些操作(例如更改其数量参数)时,它也会更改现有列表的参数。有人可以告诉我我哪里出了问题吗?

现有名单:

  List<ItemsModel> originalList=[
    ItemsModel(name: 'High Quality Double Spring Tummy Trimmer For Unisex',quantity: '30'),
    ItemsModel(name: 'High Quality Double Spring Tummy Trimmer For Unisex',quantity: '30'),
    ItemsModel(name: 'High Quality Double Spring Tummy Trimmer For Unisex',quantity: '30'),
  ];
Run Code Online (Sandbox Code Playgroud)

新名单:

  List<ItemsModel> updatedItemList;
      void initState() {
        updatedItemList=[];
        originalList.forEach((val){
      updatedItemList.add(val);
    });
        super.initState();
      }
Run Code Online (Sandbox Code Playgroud)

按下按钮时:

 updatedItemList[i].quantity=qtyReceive
Run Code Online (Sandbox Code Playgroud)

在按下某个按钮时,我正在执行更新两个列表的操作。为什么??

list dart flutter flutter-onpressed

3
推荐指数
1
解决办法
7264
查看次数

标签 统计

dart ×2

flutter ×2

flutter-onpressed ×2

list ×1