我们如何在按下颤振中的单个按钮中执行两个功能

时间:2019-01-07 05:47:34

标签: android button dart flutter

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

此代码给出了错误。.预期会找到')'

enter image description here

4 个答案:

答案 0 :(得分:1)

onPressed:()=>[rollDice(),rollDice2()],

我使用这种方法一键调用多个功能。

答案 1 :(得分:0)

Arrow Function可以运行单条语句功能。

选项:

1-您可以运行以下两个函数。

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

2-您可以在乐趣1中运行fun2。

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

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

答案 2 :(得分:0)

我用它来做与您要求类似的事情

 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()],
),

答案 3 :(得分:-1)

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