一旦 aTextField
获得焦点,存储是否启用的对象就会更改,以便TextField
立即禁用。TextField
当上面的另一个得到关注时,也会发生这种情况。
被TextField
放置在 StatefulWidget 内,并且一个Category
对象包含另一个名为的对象,如果它被启用或禁用,则该对象Goal
包含一个bool
变量。此变量还用于启用或禁用TextField
.
TextField(
controller: _goalAmountController,
enabled: widget.category.goal.enabled,
decoration: InputDecoration(
labelText: "Goal Amount",
border: OutlineInputBorder(),
),
onChanged: (value) {
try {
widget.category.goal.amount = double.parse(value);
} on Exception {
//TODO display error message
print("Invalid Goal-Amount");
}
},
),
switch
在下方还有一个可以通过设置它的变量TextField
来启用或禁用它。Goal
enabled
SwitchListTile(
value: widget.category.goal.enabled,
title: Text("Enable Goal"),
onChanged: (value) {
setState(
() {
widget.category.goal.enabled = value;
},
);
},
),
我发现似乎单击 aTextField
会将对象替换为具有默认值Goal
的新对象。false
enabled