Flutter頁(yè)面跳轉(zhuǎn)傳遞參數(shù)

一吮龄、路由傳值

直接通過(guò)路由的構(gòu)造方法傳遞值俭茧。

我們創(chuàng)建一個(gè)TipRoute路由,它接受一個(gè)提示文本參數(shù)漓帚,負(fù)責(zé)將傳入它的文本顯示在頁(yè)面上母债,另外TipRoute中我們添加一個(gè)“返回”按鈕,點(diǎn)擊后在返回上一個(gè)路由的同時(shí)會(huì)帶上一個(gè)返回參數(shù)尝抖,下面我們看一下實(shí)現(xiàn)代碼毡们。

class TipRoute extends StatelessWidget {
  TipRoute({
    Key key,
    @required this.text,  // 接收一個(gè)text參數(shù)
  }) : super(key: key);
  final String text;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("提示"),
      ),
      body: Padding(
        padding: EdgeInsets.all(18),
        child: Center(
          child: Column(
            children: <Widget>[
              Text(text),
              ElevatedButton(
                onPressed: () => Navigator.pop(context, "我是返回值"),
                child: Text("返回"),
              )
            ],
          ),
        ),
      ),
    );
  }
}

下面是打開(kāi)新路由TipRoute的代碼:

class RouterTestRoute extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: ElevatedButton(
        onPressed: () async {
          // 打開(kāi)`TipRoute`,并等待返回結(jié)果
          var result = await Navigator.push(
            context,
            MaterialPageRoute(
              builder: (context) {
                return TipRoute(
                  // 路由參數(shù)
                  text: "我是提示xxxx",
                );
              },
            ),
          );
          //輸出`TipRoute`路由返回結(jié)果
          print("路由返回值: $result");
        },
        child: Text("打開(kāi)提示頁(yè)"),
      ),
    );
  }
}
二昧辽、命名路由傳參

我們先注冊(cè)一個(gè)路由:

 routes:{
   "new_page":(context) => EchoRoute(),
  } ,

在路由頁(yè)面通過(guò)RouteSetting對(duì)象獲取路由參數(shù):

class EchoRoute extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    //獲取路由參數(shù)  
    var args=ModalRoute.of(context).settings.arguments;
    //...省略無(wú)關(guān)代碼
  }
}

在我們項(xiàng)目中通過(guò)如上方式無(wú)法獲取到傳參衙熔。后面我發(fā)現(xiàn),項(xiàng)目中使用onGenerateRoute 代替了routes做路由跳轉(zhuǎn)搅荞。

需要注意的是:onGenerateRoute 只有沒(méi)在routes中注冊(cè)的路由才會(huì)被回調(diào)红氯。
通過(guò)onGenerateRoute 這種方式攔截,參數(shù)傳遞到onGenerateRoute 中的setting了咕痛,所以痢甘,我們無(wú)法在widget中通過(guò)ModalRoute.of(context).settings.arguments獲取參數(shù)。

我們可以在onGenerateRoute 中通過(guò)方式一:路由傳值 來(lái)實(shí)現(xiàn)茉贡。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末塞栅,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子腔丧,更是在濱河造成了極大的恐慌放椰,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愉粤,死亡現(xiàn)場(chǎng)離奇詭異砾医,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)科汗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)藻烤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人头滔,你說(shuō)我怎么就攤上這事怖亭。” “怎么了坤检?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵兴猩,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我早歇,道長(zhǎng)倾芝,這世上最難降的妖魔是什么讨勤? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮晨另,結(jié)果婚禮上潭千,老公的妹妹穿的比我還像新娘。我一直安慰自己借尿,他們只是感情好刨晴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著路翻,像睡著了一般狈癞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上茂契,一...
    開(kāi)封第一講書(shū)人閱讀 51,462評(píng)論 1 302
  • 那天蝶桶,我揣著相機(jī)與錄音,去河邊找鬼掉冶。 笑死真竖,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的郭蕉。 我是一名探鬼主播疼邀,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼喂江,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼召锈!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起获询,我...
    開(kāi)封第一講書(shū)人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤涨岁,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后吉嚣,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體梢薪,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年尝哆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了秉撇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡秋泄,死狀恐怖琐馆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情恒序,我是刑警寧澤瘦麸,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站歧胁,受9級(jí)特大地震影響滋饲,放射性物質(zhì)發(fā)生泄漏厉碟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一屠缭、第九天 我趴在偏房一處隱蔽的房頂上張望箍鼓。 院中可真熱鬧,春花似錦呵曹、人聲如沸袄秩。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)之剧。三九已至,卻和暖如春砍聊,著一層夾襖步出監(jiān)牢的瞬間背稼,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工玻蝌, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蟹肘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓俯树,卻偏偏與公主長(zhǎng)得像帘腹,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子许饿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容