1. 程式人生 > >Flutter點選事件和頁面傳值

Flutter點選事件和頁面傳值

  • 點選事件

在flutter開發中,點選事件必須在佈局外面包裹InkWell,藉助InkWell來進行傳值,核心程式碼如下:

	//如果要點選,外面必須包裹一層InkWell
          new InkWell(
             	onTap: () {
             		 Navigator.of(context).push(new MaterialPageRoute(builder: (ctx) => new MovieList(movieType: movieType)));
           		 },
          		  .....
            }

在這裡插入圖片描述

  • 頁面傳參

上一個頁面傳遞:如上點選事件進行傳遞

匯入movieList
import 'package:douban/pages/movie/movieList.dart';
傳遞資料
new MovieList(movieType: movieType)

下一個頁面接收資料

class MovieList extends StatefulWidget {
  String movieType;
  //構造器傳遞資料(並且接收上個頁面傳遞的資料)
  MovieList({Key key, this.movieType}) : super(key: key);
  @override
  State<StatefulWidget> createState() {
    // TODO: implement createState
    return new MovieListState(movieType: this.movieType);
  }
}
class MovieListState extends State<MovieList> {
  String movieType;
  /**
   * 構造器接收(MovieList)資料
   */
  MovieListState({Key key, this.movieType}) {
    
   }

這時movieType在MovieList 就可以使用了