5
votes

comment exécuter deux fonctions en un seul bouton enfoncé en flutter

RaisedButton(
               color: Colors.blueAccent, 
               onPressed: () =>sendData(); //fun1
               signupPage(context) //fun2
               child: 
                Text("Signup"),
             )
this code gives an error..Expected to find ')'enter image description here

5 commentaires

appeler la fonction SignupPage (context) dans la fonction sendData () ?


Les deux fonctions ont un travail séparé, elles ne peuvent donc pas être appelées l'une dans l'autre! @Sushil Kumar.


Alors lancez Like - onPressed: () {send Data (); page d'inscription (contexte); }, - séparer comme mentionné dans la réponse.


Déjà essayé, il ne résout rien d'autre que des erreurs supplémentaires! @ Anmol.majhail


quelles sont les erreurs.? - Assurez-vous de mettre également une virgule à la fin de}.


4 Réponses :


7
votes

La fonction de flèche peut exécuter une seule fonction d'instruction.

Options:

1 - Vous pouvez exécuter deux fonctions comme ci-dessous.

RaisedButton(
               color: Colors.blueAccent, 
               onPressed: () => sendData(context), //fun1
               child: 
                Text("Signup"),
             )

void sendData(BuildContext context){
//sendData Code ...
signupPage(context); //fun2
...
}


0 commentaires

1
votes

J'utilise ceci pour faire une chose similaire à celle que vous demandez à

body: TabBarView(
  children: [localAsset()],
),

et sur la construction du widget

 Widget _btn(String txt, VoidCallback onPressed) {
    return ButtonTheme(
        minWidth: 48.0,
        child: RaisedButton(child: Text(txt), onPressed: onPressed));
  }



  Widget localAsset() {
    return _tab([
      Text('Some text:'),
      _btn('2 func btn', () => [sendData(), signupPage(context)  ], ),
    ]);
  }


0 commentaires

5
votes
onPressed:()=>[rollDice(),rollDice2()],
I used this approach to call multiple functions on one click.

0 commentaires

-1
votes
import 'package:flutter/material.dart';

void main() {
  runApp(
    MaterialApp(
      title: 'My Fast Claim',
      home: First(),
    ),
  );
}

class First extends StatefulWidget {
  @override
  _FirstState createState() => _FirstState();
}

class _FirstState extends State<First> {
  int a = 0;
  int b = 0;

  void add() {
    setState(() {
      a++;
    });
  }

  void minus() {
    setState(() {
      b++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: new AppBar(title: new Text("Number")),
      body: new Container(
        child: new Center(
          child: new Row(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            children: <Widget>[
              FloatingActionButton(
                onPressed: () {
                  add();
                  minus();
                },
                child: new Icon(
                  Icons.add,
                  color: Colors.black,
                ),
                backgroundColor: Colors.white,
              ),
              new Text('$a', style: new TextStyle(fontSize: 60.0)),
              new Text('$b', style: new TextStyle(fontSize: 60.0)),
            ],
          ),
        ),
      ),
    );
  }
}

1 commentaires

Bien que ce code puisse répondre à la question, fournir un contexte supplémentaire concernant la raison et / ou la manière dont ce code répond à la question améliore sa valeur à long terme.