【发布时间】:2020-09-24 09:40:46
【问题描述】:
我尝试用 Inkwell 制作可触摸卡片,但我的导航器上下文不起作用。
这是我的卡片小部件代码,我不明白为什么它不起作用。感谢您的帮助。
Widget buildResultCard(data) {
return Card(
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(5.0)),
elevation: 5,
child: InkWell(
//this context have issue
onTap: () {Navigator.of(context).pushNamed('yol');},
child: Container(
child: Center(
child: Column(
children: [
SizedBox(height: 20,),
Padding(
padding: EdgeInsets.fromLTRB(5, 1, 5, 10),
child: Text(data['isim'],
style: GoogleFonts.montserrat(color: Colors.blueGrey[700], fontSize: 24 , textStyle: TextStyle(fontWeight: FontWeight.w400)),
textAlign: TextAlign.center,
),
),
Divider(thickness: 3,),
SizedBox(height: 10,),
Padding(
padding: EdgeInsets.fromLTRB(5, 1, 5, 10),
child: Text(data['tarih'],
style: GoogleFonts.montserrat(color: Colors.blueGrey[700], fontSize: 24 , textStyle: TextStyle(fontWeight: FontWeight.w400)),
textAlign: TextAlign.center,
),
),
SizedBox(height: 10,),
],
)
)
),
)
);
}
这是我使用的身体代码。
body: Container(
height: double.infinity,
color: myColor,
child: ListView(
scrollDirection: Axis.vertical,
children: <Widget>[
SizedBox(height: 10.0),
GridView.count(
padding: EdgeInsets.only(left: 20.0, right: 20.0),
crossAxisCount: 1,
childAspectRatio: 0.8,
primary: false,
shrinkWrap: true,
children: tempSearchStore.map((element) {
return buildResultCard(element);
}).toList()),
SizedBox(height: 30,),
]),
)
'yol' : (context) => Wrapper() 这是我的 main.dart 文件中的路由
【问题讨论】:
-
当我将“数据”更改为“上下文”时它的工作但这次返回 buildResultCard(element);元素给出问题