颤振 - InkWell 对 OnTap 没有反应 内部灵活



我试图弄清楚为什么我的 InkWell 中的onTap()方法不起作用。InkWell 小部件位于Flexible小部件内。这个Flexible小部件也在里面Row.

这是我的代码:

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)
),
),
),
);
}

最新更新