我正在建立一个20个列表的列表视图,一旦这个列表视图是建立我希望有不同的页面,为每个列表瓷砖,我也希望有一种方式来导航到这些页面分别。
我正在考虑使用switch case,并使用列表的索引oof作为条件,该条件将根据单击的索引来决定导航。
final List<Map<String, dynamic>> _av_all_listtiles = [
{
"id": 1,
"name": "label 1",
},
{
"id": 2,
"name": "label 2",
},
{
"id": 3,
"name": "label 3",
},
ListView.builder(
itemCount: _av_searched_listiles.length,
itemBuilder: (context, index) =>
child: Card(
borderOnForeground: true,
elevation: 8,
child: Container(
height: 44.h,
child: ListTile(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
// here i want some kind of function or conditioon based on which it will navigate
deposit_screen()),
);
},
),
),
),
),
),
我试着让它发挥作用,但它不起作用
2条答案
按热度按时间jhiyze9q1#
您可以像这样使用switch case进行导航:
nr7wwzry2#
这并不太难实现。修复代码需要考虑的事情不多。
1.箭头函数的使用
当你使用arrow函数时,意味着你在一行代码中调用并返回值。如果你需要在函数内部写一些逻辑,首先把arrow函数改为普通函数体。
你需要改变这一点
到
1.现在你可以把你的代码放进这个函数里了。但是为了让这个生成器执行并导航到一个特定的页面,你需要从这里返回页面。例如,使用默认的计数器代码,如果值是偶数,我试图移动到Page1,如果值是奇数,我试图移动到Page2。你需要这样放置你的代码。
现在路由器将获得正确的页面名称,因为你是返回它从建设者.