RadioListTile
我在 中有一个列表DraggableScrollabeSheet
。当我点击其中一个 RadioListTile 时,会出现一个 TextField。但我一点击该文本字段,就收到一个 SetState 响应,选项返回到选项 1。所以我无法在 TextField 中输入任何内容。
List<String> options1 = [
"A",
"B",
"C",
"D",
"Others"
...
];
String currentOption = options[0];
Column(
children:[
RadioListTile(
activeColor: Colors.red,
title: Text("A"),
value: options[0],
groupValue: currentOption,
onChanged: (value){
setState((){
currentOption = value.toString();
})
}
)
.....//This continues till the last option
//Then if the last option (Other) is chosen, a textfield is displayed
currentOption == options[4]?
TextField(
.....
):SizedBox(),
]
)
因此,当我点击文本字段时,它会设置状态,并且当前选项会移回options[0]
发生这种情况是因为您在
build
方法内声明了变量,每次您尝试更新 UI 时(当您调用时setState
)都会重置变量值您可以在此处执行的操作是初始化变量,
initState
这将解决您的问题下面是一个示例: