我想弄清楚,为什么onTap()
我的 InkWell 内部的方法不起作用。 InkWell 小部件位于Flexible
小部件。这Flexible
小部件也在里面
ARow
.
这是我的代码:
TextEditingController controller = new TextEditingController();
@override
void dispose(){
super.dispose();
controller.dispose();
}
@override
Widget build(BuildContext context) {
return Card(
child: Container(
child: Row(
children: <Widget>[
Flexible(
child: InkWell(
onTap: () => print("Search"), //Is not printing anything
child: TextField(
controller: controller,
decoration: InputDecoration(
border: InputBorder.none,
hintText: "Searching..."
),
),
),
)
],
),
decoration: BoxDecoration(
borderRadius: BorderRadius.all(
Radius.circular(8.0)
),
),
),
);
}
我不知道如何解决我的问题。如果有人能够解决这个问题那就太棒了XD。
包装IgnorePointer
Inkwell 的孩子里面会解决这个问题:
Widget build(BuildContext context) {
return Card(
child: Container(
child: Row(
children: <Widget>[
Flexible(
child: InkWell(
onTap: () => print("Search"), //Is not printing anything
child: IgnorePointer(
child: TextField(
controller: controller,
decoration: InputDecoration(
border: InputBorder.none,
hintText: "Searching..."
),
),
),
),
)
],
),
decoration: BoxDecoration(
borderRadius: BorderRadius.all(
Radius.circular(8.0)
),
),
),
);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)