flutter - 颤振:为什么当textField失去焦点时输入内容消失?
问题描述
我把 atextField
和 a放在aclear button
中。我希望当有焦点时,会出现,当失去焦点时,按钮会消失。但是当我收起键盘(失去焦点)时,输入的内容就消失了。那么有什么问题呢?hintText
Container
textField
clear button
textField
hintText
Container(
width: 330,
height: 40,
alignment: Alignment.centerLeft,
child: TextField(
controller: inputController,
focusNode: focusNode,
style: MyTextStyle.level9,
keyboardType: TextInputType.number,
decoration: InputDecoration(
hintText: 'hint text',
hintStyle: MyTextStyle.grey,
border: InputBorder.none,
suffixIcon: focusNode.hasFocus ? IconButton(
icon: MyIcon.CloseIcon,
onPressed: () {
inputController.clear();
}
) : Container(),
filled: true,
),
),
decoration: BoxDecoration(
color: MyColor.MidGray,
),
),
解决方案
Container
您用于的小部件suffixIcon
占用了所有可用空间,使用SizedBox
小部件运行良好并产生预期的行为。
我使用您的代码添加了一个示例:
Container(
width: 330,
height: 40,
alignment: Alignment.centerLeft,
child: TextField(
controller: inputController,
focusNode: focusNode,
style: MyTextStyle.level9,
keyboardType: TextInputType.number,
decoration: InputDecoration(
hintText: 'hint text',
hintStyle: MyTextStyle.grey,
border: InputBorder.none,
suffixIcon: focusNode.hasFocus
? IconButton(
icon: MyIcon.CloseIcon,
onPressed: () {
inputController.clear();
})
// use a SizedBox widget instead
: SizedBox.shrink(),
filled: true,
),
),
decoration: BoxDecoration(
color: MyColor.MidGray,
),
),
推荐阅读
- hyperledger-fabric - Hyperledger Fabric Nix 衍生
- oop - 传递包含可分配组件的派生类型数组的一部分
- java - SQL查询在输出中重复名称
- amazon-s3 - http到s3的鱿鱼代理
- java - 使用 Keycloak SSO 在 2 个应用程序之间保持身份验证
- swift - 如何在 Swift 中设置 NSLayoutConstraint?
- python - 如何告诉 cvxpy 如何对目标函数中的矩阵值求和?
- iis - IIS 中的客户端调试与服务器端调试
- java - 在 java BufferedReader 中找不到文件,即使文件存在(并且使用 java 确认它的存在)!
- sql - 在 Google Query 中,当查询返回特定月份的空集时,向单元格返回 0