我想知道为什么即使看不到该复选框也仍然可以单击或点击该复选框。仍然会在我的控制台中提供打印值。
Container(
child: Row(
children: <Widget>[
AnimatedOpacity(
opacity: _visible ? 1.0 : 0.0,
duration: Duration(milliseconds: 500),
child: Checkbox(
value: this.folder[index].checked,
onChanged: (bool value) {
print(value);
setState(() {
this.folder[index].checked = value;
});
},
),
)
],
),
)
答案 0 :(得分:0)
即使您的Widget不透明,它也具有用户交互性,因此要解决您的问题,您有两种选择:
在onChanged
方法内添加条件
Container(
child: Row(
children: <Widget>[
AnimatedOpacity(
opacity: _visible ? 1.0 : 0.0,
duration: Duration(milliseconds: 500),
child: Checkbox(
value: this.folder[index].checked,
onChanged: (bool value) {
if (_visible) {
print(value);
setState(() {});
}
},
),
)
],
),
)
或者如果Widget
变量为false,则添加条件以显示空的_visible
Container(
child: Row(
children: <Widget>[
AnimatedOpacity(
opacity: _visible ? 1.0 : 0.0,
duration: Duration(milliseconds: 500),
child: _visible
? Checkbox(
value: this.folder[index].checked,
onChanged: (bool value) {
if (_visible) {
print(value);
setState(() {});
}
},
)
: SizedBox(),
)
],
),
)