如何最初在TextFormField中显示一个空字符串,只允许数字在颤动中?

问题描述 投票:0回答:1

我有一个只允许数字的文本字段。但是,当我的用户添加新模型时,我需要为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);
                });
              },
            ),
flutter flutter-layout
1个回答
0
投票

将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);
      });
    },
),
© www.soinside.com 2019 - 2024. All rights reserved.