Flutter 如何在TextFormField中显示一个空字符串,在flift中只允许数字?
我有一个只允许数字的文本字段。但是,当我的用户添加一个新模型时,我需要为字段numberOfPets预先指定一个值 只允许0-9,所以我可以使用0,但我更希望在该文本字段中有一个空字符串,但这是不可能的,因为字符串不是Int的子类型。。。我也尝试过Flutter 如何在TextFormField中显示一个空字符串,在flift中只允许数字?,flutter,flutter-layout,Flutter,Flutter Layout,我有一个只允许数字的文本字段。但是,当我的用户添加一个新模型时,我需要为字段numberOfPets预先指定一个值 只允许0-9,所以我可以使用0,但我更希望在该文本字段中有一个空字符串,但这是不可能的,因为字符串不是Int的子类型。。。我也尝试过null,但这实际上是作为initialValue编写的 如何在该文本字段中显示空字符串 TextFormField( keyboardType: TextInputType.number, in
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);
});
},
),
不确定你想要实现什么。您希望为numberOfPets预先分配一个值,并在TextFormField中具有空字符串。这是两件不同的事情,在initState中为numberOfPets赋值,而不给TextFormField赋值。我不明白你的问题啊。。。现在我明白了作者想要实现的目标,我认为预先分配的值总是0,所以我有点困惑;其中,宠物可以为null而不是0,但仍然感谢:-)