[英]How do I pass the class as a parameter in flutter?
我正在 flutter 上開發一個 Android 應用程序,我想在其中傳遞 class 作為參數。 我是一個顯示所有食物食譜的頁面,數據來自數據庫。 單擊任何菜譜時,將出現新屏幕,用戶將看到該菜譜的詳細信息現在需要的是,當普通用戶單擊菜譜時,用戶將移至不存在編輯/刪除選項的普通屏幕以及管理員單擊屏幕,然后他將移動到存在編輯/刪除選項的屏幕
class RecipeCard extends StatelessWidget {
final String title;
final String rating;
final String cookTime;
final String thumbnailUrl;
const RecipeCard({
super.key,
required this.title,
required this.cookTime,
required this.rating,
required this.thumbnailUrl,
});
@override
Widget build(BuildContext context) {
return InkWell(
onTap: () {
Navigator.push(
context,
PageRouteBuilder(
transitionDuration: const Duration(seconds: 1),
transitionsBuilder: (context, animation, animationTime, child) {
animation = CurvedAnimation(
parent: animation, curve: Curves.fastLinearToSlowEaseIn);
return ScaleTransition(
scale: animation,
alignment: Alignment.center,
child: child,
);
},
pageBuilder: (context, animation, animationTime) {
return UpdateOrDeleteRecipe(
title: title,
cookTime: cookTime,
rating: rating,
thumbnailUrl: thumbnailUrl,
);
},
),
);
},
child: Container(...),
);
}
}
現在在上面的代碼中,return InkWell( onTap: () {
我想傳遞 class 名稱,以便在單擊卡片時它會移動到 class 我希望它移動。
我怎樣才能做到這一點? 請記住,當我移至下一頁時,以下參數也將移至下一頁。
return UpdateOrDeleteRecipe(
title: title,
cookTime: cookTime,
rating: rating,
thumbnailUrl: thumbnailUrl,
);
如果您有兩個單獨的 Admin 和 User 屏幕,您可以設置一個條件,例如isAdmin? UpdateOrDeleteRecipe(...): Detail()
isAdmin? UpdateOrDeleteRecipe(...): Detail()
in pageBuilder
,或者您可以為管理員和用戶制作一個屏幕,並將bool isAdmin
參數放在屏幕 arguments 上,當管理員進入該屏幕時,isAdmin 將為真,因此,您可以顯示編輯/刪除選項,如果 isAdmin 為假,則不顯示它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.