flutter - 如何在 Flutter 中完全隐藏密码输入?
问题描述
我正在使用 Flutter web 处理登录表单。我希望我的第二个TextField
(我的密码)隐藏用户输入。我已经将obscureText
属性设置为true
.
我不希望显示“f”。有可能这样做吗?
解决方案
没有简单的方法可以做到这一点。因此必须使用将输入值转换为“*”的控制器和 StatefulWidget
class Testas extends StatefulWidget{
@override
_TestasState createState() => _TestasState();
}
class _TestasState extends State<Testas> {
String _valueToShow = "";
String _value = "";
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
child: TextField(
controller: TextEditingController.fromValue(TextEditingValue(text: _valueToShow, selection: new TextSelection.collapsed(offset: _valueToShow.length))),
onChanged: (String val){
String value = "";
if(val.length > _value.length){
value+=val.substring(_value.length, val.length);
}
if(val.length < _value.length){
value = _value.substring(1, val.length);
}
String valueToShow = "*" * val.length;
setState(() {
_valueToShow = valueToShow;
_value = value;
});
},
),
),
);
}
}
推荐阅读
- flutter - 如何在颤动中限制文本字段中的单引号和双引号?
- reactjs - 如何为每个数据块添加按钮
- c# - 如何使用 HtmlAgilityPack 从网站获取单个图像?
- flutter - 如何在几个小部件上限定提供者而不将提供者放在根小部件上
- mysql - MYSQL 在使用双引号和单引号时截断不正确的 DOUBLE
- javascript - 如何返回我可以使用的 Base64
- python - 为不在烧瓶中工作的不同用户登录
- sql-server - 物化视图概念是否与 SQL Server 中的索引视图相同?
- reactjs - React 登录表单循环不会重新渲染 DOM
- php - 如何在 Laravel8 中制作下载功能(从其他网站链接)?