如何從文本欄位中插入文本到串列中,并在通過按鈕添加時清除文本欄位?
List texts = []
在按下onChanged后,從文本欄位插入到串列中。
uj5u.com熱心網友回復:
讓我們試試吧
import 'package:flutter/material.dart'/span>。
import 'package:flutter/services.dart';
import 'package:so_test/screen/exapmple_page.dart'。
void main() => runApp(const MyApp())。
// 這是主應用程式部件。
class MyApp extends StatelessWidget{
const MyApp({Key key}) : super(key: key)。
static const String _title = 'Flutter Code Sample';
Widget build(BuildContext context) {
return MaterialApp(
標題。_title,
首頁。Scaffold(
appBar: AppBar(title: const Text(_title))。
body: MyStatefulWidget()。
),
);
}
}
// 這是主應用程式實體化的有狀態的部件。
class MyStatefulWidget extends StatefulWidget{
const MyStatefulWidget({Key key}) : super(key: 關鍵)。
State<MyStatefulWidget> createState() => _MyStatefulWidgetState()。
}
//這是與MyStatefulWidget配套的私有State類。。
class _MyStatefulWidgetState extends State< MyStatefulWidget> {
bool selected = false;
List<String> text = [] 。
TextEditingController _controller = TextEditingController()。
Widget build(BuildContext context) {
return Scaffold(
體。容器(
裝飾。BoxDecoration(color: Colors.white12),
孩子。列(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
TextFormField(
控制器。_controller,
),
TextButton(
onPressed: () {
setState(() {
if(_controller.text.length>0){
text.add(_controller.text)。
_controller.clear()。
} else{
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
內容。Text("Text is empty")。
));
}
});
},
孩子。Text("add")。
),
Text(text.isNotEmpty?text.toString():"" )。
],
),
),
);
}
}
uj5u.com熱心網友回復:
在onTap或onPressed上,你可以做這樣的事情:
onTap:(){
texts.add(_textController.text)。
_textController.clear()。
}
注意:你在這個問題中沒有提供足夠的資訊,所以我假設你的TextController名稱是_textController
uj5u.com熱心網友回復:
如果你打完字,試著在onSubmit上發送資料
。onSubmit:(String value){
print(value)。
text.add(value)。
}
uj5u.com熱心網友回復:
在這里你正在做2件事
1> 在串列中添加或增加值。2> 清空歸檔的文本
這里你要使用TextEditingController這有助于從文本欄位訪問測驗。 通過宣告TextTditingcontroller: -
TextEditingController Input = TextEditingController();
NB:控制器:TextFormField內的輸入
1> 用于添加到串列
在你的onSubmit或Ontap函式內添加這個
<List.add("Input.text");
2> 用于清除存檔的文本
setState(() {
inputController.text = ""/span>。
});
把這個放在你的onSubmit函式中。
確保你使用的是有狀態的widget
。謝謝你
uj5u.com熱心網友回復:
你可以使用TextEditingController。
你需要創建一個它的實體,并以這種方式將其傳遞給TextField。
TextEditingController _instance = TextEditingController();
TextField(controller: _instance);
然后當你按下你的Button時,你應該做一些類似的事情
Button(
onPressed: (){
List.add(_instance.text)。
_instance.text = '';
setState((){})。
}
)
注意,TextEditingController應該被創建一次
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/309233.html
標籤:
上一篇:未處理的例外。NoSuchMethodError。方法'showNotificationDaily'在flutter中被呼叫為空。

