我有 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 Pokokis10000因为Total Premi-Premi Pokok是50000-40000=10000。 - 并且
Premi Topup仍然可以由用户编辑该值,尽管具有来自Total Premi-的验证的默认值Premi Pokok。
