为颤动中的按钮执行两个功能

时间:2019-05-30 06:08:33

标签: flutter

因此,我希望能够保存用户已键入共享首选项的textcontroller中的文本。但是,我也想同时转到下一页。

所以:

  1. 以共享首选项保存文本
  2. 转到下一页

    final _text = TextEditingController();
    
    _nameSaver() async {
        SharedPreferences prefs = await SharedPreferences.getInstance();
        prefs.setString('my_string_key', _text.text);
      }
    
    FooterRaisedButton(
                      "Next",
                      () => (_text.text.isEmpty)
                          ? null
                          : Navigator.pushNamed(context, '/onboardMarket'),
                      "#0087a8")
    

我不知道如何在按下按钮的同时调出保存名称的功能。

2 个答案:

答案 0 :(得分:4)

删除粗箭头(=>),并像这样实现它:

FooterRaisedButton(
  "Next",
   () async {
    if (_text.text.isEmpty)
      return; // return if it is empty
    await nameSaver(); // else save it here
    Navigator.pushNamed(context, '/onboardMarket'); // once done, navigate
  }
);

只是给您一个基本的想法,

// only one statement can be executed using fat notation
RaisedButton(onPressed: () => _calculate(1));

// here you can perform as many as you need.
RaisedButton(onPressed: () {
  _calculate(1);
  _printScreen();
});

答案 1 :(得分:0)

尝试此代码即可:

代码:

import UIKit
import XLPagerTabStrip

class MainVc : ButtonBarPagerTabStripViewController{    
    override func viewDidLoad() {
        super.viewDidLoad()
    }   
}