【问题标题】:How to add initial value without edit initial value on Flutter?如何在 Flutter 上添加初始值而不编辑初始值?
【发布时间】:2019-10-15 20:45:33
【问题描述】:

我像这样添加了初始值,但用户可以编辑初始文本。如何禁用编辑初始值? 但是用户可以用初始值进行增值吗?

 var _myController = TextEditingController(text: "https://");

输出应该是这样的

print(url);

https://(user_type_value)

【问题讨论】:

  • 不不,用户允许写入但不删除 https://

标签: flutter dart


【解决方案1】:

你可以试试这个逻辑,这样https://会一直显示给用户,如果用户输入一个没有https://的url,我们很好,如果用户输入一个带有https://的url,我们又很好。

Column(
  mainAxisAlignment: MainAxisAlignment.center,
  children: <Widget>[
    TextField(
      controller: _controller,
      decoration: InputDecoration(prefixText: "https://"),
    ),
    RaisedButton(
      child: Text("Submit"),
      onPressed: () {
        String text = _controller.text.toString();
        if (!text.contains("https://")) {
          text = "https://" + text;
        }
        // text here will always have https://
      },
    ),
  ],
),

【讨论】:

  • 用户类型http://会发生什么?不是https:// 我试过了,输出是:https://http://sample.com
  • httphttps或任何其他您想要的协议在prefixText中使用regEx,然后您将能够正确区分所有协议。
【解决方案2】:

据我了解,您需要蒙面编辑之类的东西,请看这里:https://github.com/benhurott/flutter-masked-text/blob/master/README.md

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 2019-08-01
    • 2021-09-05
    • 2019-09-29
    • 2019-02-06
    相关资源
    最近更新 更多