我有 3 个 TextFormField 如下所示:
这是上面 3 TextFormField 的代码:
class _ProposalDataInsuranceState extends State<ProposalDataInsurance> {
final _totalPremiController = TextEditingController();
final _premiPokokController = TextEditingController();
final _premiTopUpController = TextEditingController();
@override
void dispose() {
_totalPremiController.dispose();
_premiPokokController.dispose();
_premiTopUpController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Column(
children: [
TextFormField(
textInputAction: TextInputAction.next,
style:
textMediumColor(Modular.get<ColorPalettes>().black),
controller: _totalPremiController,
maxLines: 1,
keyboardType: TextInputType.number,
inputFormatters: [
FilteringTextInputFormatter.digitsOnly,
CurrencyInputFormatter(maxDigits: 16),
],
decoration: InputDecoration(
border: InputBorder.none,
focusedBorder: InputBorder.none,
enabledBorder: InputBorder.none,
errorBorder: InputBorder.none,
disabledBorder: InputBorder.none,
contentPadding:
EdgeInsets.only(bottom: 11, top: 11, right: 15),
hintText: '0',
hintStyle:
textMediumColor(Modular.get<ColorPalettes>().black),
),
),
TextFormField(
controller: _premiPokokController,
textInputAction: TextInputAction.next,
style: textMediumColor(Modular.get<ColorPalettes>().black),
maxLines: 1,
keyboardType: TextInputType.number,
inputFormatters: [
FilteringTextInputFormatter.digitsOnly,
CurrencyInputFormatter(maxDigits: 16),
],
decoration: InputDecoration(
border: InputBorder.none,
focusedBorder: InputBorder.none,
enabledBorder: InputBorder.none,
errorBorder: InputBorder.none,
disabledBorder: InputBorder.none,
contentPadding:
EdgeInsets.only(bottom: 11, top: 11, right: 15),
hintText: '0',
hintStyle:
textMediumColor(Modular.get<ColorPalettes>().black),
),
),
TextFormField(
controller: _premiTopUpController,
textInputAction: TextInputAction.done,
style: textMediumColor(Modular.get<ColorPalettes>().black),
maxLines: 1,
keyboardType: TextInputType.number,
inputFormatters: [
FilteringTextInputFormatter.digitsOnly,
CurrencyInputFormatter(maxDigits: 16),
],
decoration: InputDecoration(
border: InputBorder.none,
focusedBorder: InputBorder.none,
enabledBorder: InputBorder.none,
errorBorder: InputBorder.none,
disabledBorder: InputBorder.none,
contentPadding:
EdgeInsets.only(bottom: 11, top: 11, right: 15),
hintText: '0',
hintStyle:
textMediumColor(Modular.get<ColorPalettes>().black),
),
),
],
);
}
}
问题是,如何使用验证(Total Premi
- Premi Pokok
)设置默认值Premi Topup
?
例如:
- 如果我添加
50000
,Total Premi
那么 的值Premi Pokok
仍然是0
因为Total Premi
-Premi Pokok
是50000
-0
=0
。 - 如果我
50000
在Total Premi
和40000
中添加Premi Pokok
,那么值Premi Pokok
is10000
因为Total Premi
-Premi Pokok
是50000
-40000
=10000
。 - 并且
Premi Topup
仍然可以由用户编辑该值,尽管具有来自Total Premi
-的验证的默认值Premi Pokok
。