【发布时间】:2019-10-15 20:45:33
【问题描述】:
我像这样添加了初始值,但用户可以编辑初始文本。如何禁用编辑初始值? 但是用户可以用初始值进行增值吗?
var _myController = TextEditingController(text: "https://");
输出应该是这样的
print(url);
【问题讨论】:
-
不不,用户允许写入但不删除 https://
我像这样添加了初始值,但用户可以编辑初始文本。如何禁用编辑初始值? 但是用户可以用初始值进行增值吗?
var _myController = TextEditingController(text: "https://");
输出应该是这样的
print(url);
【问题讨论】:
你可以试试这个逻辑,这样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
http、https或任何其他您想要的协议在prefixText中使用regEx,然后您将能够正确区分所有协议。
据我了解,您需要蒙面编辑之类的东西,请看这里:https://github.com/benhurott/flutter-masked-text/blob/master/README.md
【讨论】: