Flutter 如何在TextFormField中显示一个空字符串,在flift中只允许数字?

Flutter 如何在TextFormField中显示一个空字符串,在flift中只允许数字?,flutter,flutter-layout,Flutter,Flutter Layout,我有一个只允许数字的文本字段。但是,当我的用户添加一个新模型时,我需要为字段numberOfPets预先指定一个值 只允许0-9,所以我可以使用0,但我更希望在该文本字段中有一个空字符串,但这是不可能的,因为字符串不是Int的子类型。。。我也尝试过null,但这实际上是作为initialValue编写的 如何在该文本字段中显示空字符串 TextFormField( keyboardType: TextInputType.number, in

我有一个只允许数字的文本字段。但是,当我的用户添加一个新模型时,我需要为字段numberOfPets预先指定一个值

只允许0-9,所以我可以使用0,但我更希望在该文本字段中有一个空字符串,但这是不可能的,因为字符串不是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);
      });
    },
),

不确定你想要实现什么。您希望为numberOfPets预先分配一个值,并在TextFormField中具有空字符串。这是两件不同的事情,在initState中为numberOfPets赋值,而不给TextFormField赋值。我不明白你的问题啊。。。现在我明白了作者想要实现的目标,我认为预先分配的值总是0,所以我有点困惑;其中,宠物可以为null而不是0,但仍然感谢:-)