【发布时间】:2021-08-20 02:09:37
【问题描述】:
我只有一个问题
我昨天开始学扑。
如何获取 Textfield 值?
我尝试在班级中的任何人调用 TextEditingController。 但它不起作用。
[![在此处输入图片描述][1]][1]
class LoginScreen extends StatefulWidget {
@override
_LoginState createState() => _LoginState();
}
class _LoginState extends State<LoginScreen> {
final userId = TextEditingController();
final userPass = TextEditingController();
...TextInputField(),
PasswordInput(),
LoginButton()
}
void loginAct() async {
var data = {
"user_id": userId, //undefined
"user_pass": userPass, //undefined
};
class TextInputField extends StatelessWidget {
const TextInputField({
Key? key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
Size size = MediaQuery.of(context).size;
return Padding(
padding: const EdgeInsets.symmetric(vertical: 10.0),
child: Container(
height: size.height * 0.08,
width: size.width * 0.8,
decoration: BoxDecoration(
color: Colors.grey[500],
borderRadius: BorderRadius.circular(16),
),
child: TextField(
controller: userId, <=== (The getter 'userId' isn't defined for the class 'TextInputField')
decoration: InputDecoration(
border: InputBorder.none,
prefixIcon: Padding(
padding: const EdgeInsets.symmetric(horizontal: 20.0),
child: Icon(
FontAwesomeIcons.user,
size: 28,
color: Colors.black54,
),
),
hintText: 'id',
),
),
),
);
}
}
如何解决?
【问题讨论】:
-
您要登录并将您的数据传递给 API 是否正确?
标签: flutter