将不稳定的文本从文本字段转换为字符串,但字符串为空



早上好最近我开始使用扑动,我正在制作一个应用程序从数据库中获取数据,为此我使用文本字段插入客户端的代码,以便他可以获得他的债务余额,但当我从文本字段中删除信息并转换为。tostring并按下按钮时,它不返回任何东西!我让控制台显示值,但它总是空的!

"
TextField

Container( child: TextField(//campo de texto
controller: cs.controlaTexto ,
keyboardType: TextInputType.number,//tipo de teclado a se utilizar no campo de texto
decoration: InputDecoration(//decoração do campo texto
border: OutlineInputBorder(),//borda do campo de texto
labelText: 'Código',//etiqueta do campo de texto),
inputFormatters: [
LengthLimitingTextInputFormatter(11)
],
)'''

"<<strong>按钮/strong>

FlatButton(//botao
color: Colors.blue,//cor do botao
textColor: Colors.white,// cor do texto do botao
disabledColor: Colors.grey,//cor do botao desativado
disabledTextColor: Colors.black,//cor do texto do botao desativado
padding: EdgeInsets.all(8.0),//contorno do botao
splashColor: Colors.blueAccent,//cor do toque do botao
onPressed: () {//ir para a pagina com o resultado da pesquisa
content: Text(cs.controlaTexto.text.toString());
cs.controlaTexto.text = pesquisa;
log(pesquisa);
servicos.getclientes();
Navigator.push(
context,
MaterialPageRoute(builder: (context) => Resultado()));

},">

我想你在尝试中犯了一些错误。

  1. 你不需要在cs.controlaTexto.text上使用toString():它已经是一个字符串
  2. 您正在将您的文本分配给另一个变量cs.controlaTexto.text = pesquisa;,这是删除控制器文本值
  3. 你应该用cs.controlaTexto.clear();清空你的控制器文本
// Copyright 2018 The Flutter team. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:flutter/services.dart';
import 'package:brasil_fields/brasil_fields.dart';
import 'package:flutter/material.dart';
import 'tela.dart';
import 'selecionaTemas.dart';
import 'cliente.dart';
import 'servicos.dart';
import 'dart:developer';
import 'package:flutter/cupertino.dart';
class consulta extends StatefulWidget {
@override
_consultaState createState() => _consultaState();
}
// Define a corresponding State class.
// This class holds the data related to the Form.
class _consultaState extends State<consulta> {
// Create a text controller and use it to retrieve the current value
// of the TextField.
TextEditingController controlaTexto = new TextEditingController();


@override
Widget build(BuildContext context) {
// Fill this out in the next step.
}
}
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget with PortraitModeMixin {
@override
Widget build(BuildContext context) {
super.build(context);
return MaterialApp(
theme: ThemeData.dark(),
home: menu(),
);
}
}
class menu extends StatelessWidget {
_consultaState cs = new _consultaState();
String pesquisa ="";
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData.dark(),
title: 'Busca Saldo',
home: Scaffold(
appBar: AppBar(
title: Text('Busca saldo Estela',
),
centerTitle: true,),
body: Center(
child: Container(
child: Column(
children: [
Image.asset('android/assets/imgs/logo.png',//imagem
alignment: Alignment.topCenter,),
Text('n'
'', style: TextStyle(fontSize: 50))
,
Text('Aplicativo para consultar saldo devedor',//texto
style: TextStyle(height: 1.2, fontSize: 18),),
Text(
'Insira seu código de cliente no campo abaixo para consultar seu 
saldo',//texto
textAlign: TextAlign.center,
style: TextStyle(height: 1.2, fontSize: 22),
),
Container(
child: TextField(//campo de texto
controller: cs.controlaTexto ,
keyboardType: TextInputType.number,//tipo de teclado a se 
utilizar no campo de texto
decoration: InputDecoration(//decoração do campo texto
border: OutlineInputBorder(),//borda do campo de texto
labelText: 'Código',//etiqueta do campo de texto
),
inputFormatters: [
LengthLimitingTextInputFormatter(11)
],
)
)
,
FlatButton(//botao
color: Colors.blue,//cor do botao
textColor: Colors.white,// cor do texto do botao
disabledColor: Colors.grey,//cor do botao desativado
disabledTextColor: Colors.black,//cor do texto do botao 
desativado
padding: EdgeInsets.all(8.0),//contorno do botao
splashColor: Colors.blueAccent,//cor do toque do botao
onPressed: () {//ir para a pagina com o resultado da pesquisa
content: Text(cs.controlaTexto.text.toString());
pesquisa = cs.controlaTexto.text;
log(pesquisa);
return showDialog(context: context,
builder: (context){
return AlertDialog(content: Text(cs.controlaTexto.text));
});
servicos.getclientes();
Navigator.push(
context,
MaterialPageRoute(builder: (context) => Resultado()));
},
child: Text(
"Consultar",//texto do botao
style: TextStyle(fontSize: 20.0),//tamanho do texto do botao
),
)
]),
)
),
),
);
}
}
class Resultado extends StatelessWidget with selecionaTemas {
@override
menu m =  menu();
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("resultado"),
),
body: Center(
child: Text("aaaaaaaaaaaaaaaaaaaaaaaaas"),
));

}
}

最新更新