Во флаттере у меня есть поля текстовой формы, которые я отключил, и отправляет предварительно заполненные значения, если пользовательский ввод отсутствует (поля отключены).Я хочу создать кнопку с именем «Фильтр», и когда пользователь нажимает эту кнопку, он включает поля и позволяет пользователю выбирать свои собственные значения для отправки.
В настоящее время я нашел способ отключитьтекстовые поля с использованием enabled: false.Я не уверен, как установить все 3 из этих полей формы во включенное состояние: true, когда пользователь нажимает кнопку.Кроме того, в настоящее время я проверил наличие пустых данных для отправки этих значений по умолчанию.Однако, если нажать кнопку фильтра и включить формы, я не хочу отправлять предварительно заполненные значения.
//would like to use these 3 values on submit if fields are disabled
double distance = 10.0;
double length = 1.0;
double results = 10.0;
Widget distanceFromUser() {
return TextFormField(
enabled: false,
decoration: InputDecoration(
labelText: "Distance From User: 10", hintText: '10 miles'),
onSaved: (String value) {
if(value.isEmpty){
distance = 10.0;
}
else {
distance = double.parse(value);
}
},
);
}
Widget lengthOfTrail() {
return TextFormField(
enabled: false,
decoration: InputDecoration(
labelText: "Minimum Length of Trail: 1", hintText: '1 mile'),
onSaved: (String value) {
if(value.isEmpty){
length = 1.0;
}
else {
length = double.parse(value);
}
},
);
}
Widget numOfResults() {
return TextFormField(
enabled: false,
decoration: InputDecoration(
labelText: "Number of results : 10", hintText: 'numOfResults'),
onSaved: (String value) {
if(value.isEmpty){
results = 10.0;
}
else {
results = double.parse(value);
}
},
);
}
Widget submitButton() {
return RaisedButton(
color: Color.fromRGBO(58, 66, 86, 1.0),
child: Text("Find trails near me", style: TextStyle(color: Colors.white)),
onPressed: () async {
formkey.currentState.save();
final trails = await fetchData();
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => MapScreen(trails, userLat, userLon)),
);
},
);
}
}
Widget Filter(){
//code to re-enable text forms would go here
}
Любая помощь будет принята с благодарностью, спасибо