我有一个只允许数字的文本字段。但是,当我的用户添加新模型时,我需要为numberOfPets字段预先分配一个值。
仅允许使用0-9,所以我可以使用0,但是我宁愿在该文本字段中使用一个空字符串,但这是不可能的,因为String不是Int的子类型...我也尝试过null
,但是实际上写为initialValue。
您将如何在该文本字段中显示一个空字符串?
TextFormField(
keyboardType: TextInputType.number,
inputFormatters: [
LengthLimitingTextInputFormatter(3),
WhitelistingTextInputFormatter.digitsOnly,
],
decoration: const InputDecoration(
labelText: 'reps',
),
initialValue: widget.set.numberOfPets.toString() ,
validator: (value) {
return StringFieldValidator.validate(value);
},
onChanged: (value) {
setState(() {
widget.set.numberOfPets= int.parse(value);
});
},
),
将numberOfPets保留为0,但在分配给initialValue时检查是否为0并将其更改为空字符串
TextFormField(
keyboardType: TextInputType.number,
inputFormatters: [
LengthLimitingTextInputFormatter(3),
WhitelistingTextInputFormatter.digitsOnly,
],
decoration: const InputDecoration(
labelText: 'reps',
),
initialValue: widget.set.numberOfPets ==0 ? '' : widget.set.numberOfPets.toString() ,
validator: (value) {
return StringFieldValidator.validate(value);
},
onChanged: (value) {
setState(() {
widget.set.numberOfPets= int.parse(value);
});
},
),