相关疑难解决方法(0)

Material Textfield 文本向后显示,但 CupertinoTextfield 文本正确显示 Flutter

我有一个与其连接的文本字段TextEditingController()。在onChanged:回调中,我执行文本检查以仅允许时间输入。当在 iOS 上运行CupertinoTextfield并且其行为符合预期时,每次输入光标都会移动,因此下一个数字位于正确的位置,因此输入 1000 将得到 10:00。当在网络或 Android 上运行Material Textfield时,问题是当光标停留在第一个位置时文本向后显示,因此输入 1000 将导致 00:01 ..我尝试启用autofocus: true,但没有帮助。我尝试过textDirection: TextDirection.ltr,但也没有修复。我还尝试了另一篇文章中的解决方案,抓取控制器选择并将其重新应用到选中的文本上,但它也没有帮助。我缺少为 Material Textfield 设置什么?一如既往,非常感谢您的时间和帮助。

这是小部件:

Expanded(
                        flex: 2,
                        child: kIsWeb
                            ? TextField(
                                keyboardType: TextInputType.numberWithOptions(),
                                textDirection: TextDirection.ltr,
                                autofocus: true,
                                controller: monMorOp,
                                onChanged: (value) {
                                  TextSelection previousSelection =
                                      monMorOp.selection;
                                  monMorOp.text = validateTimeFormat(value);
                                  monMorOp.selection = previousSelection;
                                },
                              )
                            : Platform.isIOS
                                ? CupertinoTextField(
                                    keyboardType:
                                        TextInputType.numberWithOptions(),
                                    controller: monMorOp,
                                    onChanged: (value) {
                                      monMorOp.text = validateTimeFormat(value);
                                    },
                                  )
                                : TextField(
                                    keyboardType: …
Run Code Online (Sandbox Code Playgroud)

textfield flutter

4
推荐指数
1
解决办法
2438
查看次数

标签 统计

flutter ×1

textfield ×1