【发布时间】:2021-10-12 16:49:48
【问题描述】:
我试图在 statelessWidget 类上编写一个有状态小部件来放置一个 bool 和一个 stateState((),(显示或隐藏密码)。所以我关注了一些帖子,上面说解决方案是转换。
我转换了我的课程,但出现了一些错误,也许我应该更新我的代码,但我不知道该怎么做,而且我总是遇到这样的错误:
36:32:错误:没有为类“_RoundedPasswordFieldState”定义设置器“_isSecret”。 -“_RoundedPasswordFieldState”来自“package:yona/Login/Components/rounded_password_field.dart”(“lib/Login/Components/rounded_password_field.dart”)。 尝试将名称更正为现有 setter 的名称,或定义名为“_isSecret”的 setter 或字段。
你能帮帮我吗? 问题解决了,这是新代码
class _RoundedPasswordFieldState extends State<RoundedPasswordField> {
bool _isSecret = true;
@override
Widget build(BuildContext context) {
return TextFieldContainer(
child: TextFormField(
obscureText: _isSecret,
decoration: InputDecoration(
hintText: "Password",
border: InputBorder.none,
icon: Icon(
Icons.lock,
color: DarkTurquoise,
),
suffixIcon: InkWell(
onTap: () =>
setState(() => _isSecret = !_isSecret),
child: Icon(!_isSecret
? Icons.visibility
: Icons.visibility_off, color: DarkTurquoise),
),
),
),
);
}
}
【问题讨论】:
-
问题解决:
标签: flutter dart boolean stateless stateful