как мы выполняем две функции в одной кнопке, нажатой в флаттер - PullRequest
0 голосов
/ 07 января 2019
RaisedButton(
               color: Colors.blueAccent, 
               onPressed: () =>sendData(); //fun1
               signupPage(context) //fun2
               child: 
                Text("Signup"),
             )

этот код выдает ошибку. Ожидается найти ')'

введите описание изображения здесь

Ответы [ 3 ]

0 голосов
/ 20 июня 2019

Я использую это, чтобы сделать то же самое, что вы просите

 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)  ], ),
    ]);
  }

и на сборке виджета

body: TabBarView(
  children: [localAsset()],
),
0 голосов
/ 04 августа 2019
onPressed:()=>[rollDice(),rollDice2()],

Я использовал этот подход для вызова нескольких функций одним щелчком мыши.

0 голосов
/ 07 января 2019

Arrow Function может запускать функцию одного оператора.

Параметры:

1 - Вы можете запустить две функции, как показано ниже.

RaisedButton(
               color: Colors.blueAccent, 
               onPressed: () {
               sendData(); //fun1
               signupPage(context); //fun2
               },
               child: 
                Text("Signup"),
             )

Или

2 - Вы можете запустить fun2 в удовольствие 1.

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

void sendData(BuildContext context){
//sendData Code ...
signupPage(context); //fun2
...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...