gpt4 book ai didi

Flutter:在一个简单的示例中,输入文本字段无法正常工作.....我哪里错了?

转载 作者:IT王子 更新时间:2023-10-29 06:36:18 25 4
gpt4 key购买 nike

我用输入文本做了一个简单的例子,但是在我的手机(诺基亚 edge 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'
)
)
);
}
}

最佳答案

据我了解,问题是每次用户编辑文本(或更改光标的位置)时,小部件的状态都会发生变化,因此需要重新构建。构建小部件时,您指定 Input 的文本,因此它永远不会改变。

以下应该有效:

class _FlutterDemoState extends State<FlutterDemo> {
InputValue inputValue = new InputValue(text: 'via Dei Giacinti n° 8');

@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(title: new Text('Input Demo')),
body: new Center(child: new Input(
value: inputValue,
labelText: 'INDIRIZZO',
onChanged: (InputValue newInputValue) {
setState(() {
inputValue = newInputValue;
});
})));
}
}

关于Flutter:在一个简单的示例中,输入文本字段无法正常工作.....我哪里错了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37796913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com