我做了一个简单的例子,输入文本,但在我的手机(诺基亚边缘6)无论是在旧平板电脑(三星)不工作.... 2问题:
1)如果我点击输入,插入的字符串(只要我写了一些文本)不会出现在输入中
2)如果使用输入的初始值,如果我点击它,我无法写入文本,也无法将光标定位到我想要的位置(它只能在输入中的其他文本之前移动)
我该怎么办?非常感谢!
下面是我的代码:
import 'package:flutter/material.dart';
void main() {
runApp(
new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.blue
),
home: new FlutterDemo()
)
);
}
class FlutterDemo extends StatefulWidget {
FlutterDemo({ Key key }) : super(key: key);
@override
_FlutterDemoState createState() => new _FlutterDemoState();
}
class _FlutterDemoState extends State<FlutterDemo> {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text('Input Demo')
),
body: new Center(
child:
new Input(
value: new InputValue(text: 'via Dei Giacinti n° 8'),
labelText: 'INDIRIZZO'
)
)
);
}
}
2条答案
按热度按时间smdncfj31#
据我所知,问题是每次用户编辑文本(或改变光标位置)时,小部件的状态都会改变,因此它会被重新构建。当小部件构建时,您指定
Input
的文本,因此它永远不会改变。以下方法应该有效:
sqxo8psd2#
我在Flutter Web中也遇到了同样的问题,但后来我注意到,如果我添加
maxlines: 2
,它确实起作用了。TextFotmField() and TextField()