flutter - 如何在 Flutter 中更新内部小部件
问题描述
嗨,我在颤动时遇到收音机和复选框的问题。我创建了自己的小部件,目的是根据需要的不同返回小部件,如下图所示,因为我选择了更改引脚,返回将是一个复选框,但返回小部件是一个复选框,而保存按钮停滞或没有'没有改变,但当我使用收音机或复选框甚至可见性时我遇到了问题。当我尝试更新 setState() 时,它不会更新或重新加载小部件。下面的代码只是小部件的第一个返回,它将是一个复选框。当我尝试取消选中按钮时,值变为下降但 UI 未被选中。
Widget getInputType(val){
if(val == 'Pin Lock'){
return CheckboxListTile(
title: Text('Pin Login'),
value: isSwitchPin,
onChanged: (value){
setState(() {
print(value);
this.isSwitchPin = value;
});
});
}
}
解决方案
你可以试试:
1、定义一个字段
ValueChanged<bool> onEnventChange;
2、关于initState()
onEnventChange = (value){
setState(() {
print(value);
this.isSwitchPin = value;
});
});
3、定义你的功能
Widget getInputType(val){
if(val == 'Pin Lock'){
return CheckboxListTile(
title: Text('Pin Login'),
value: isSwitchPin,
onChanged: onEnventChange);
}
}