首页 > 其他分享 >5.16

5.16

时间:2024-06-13 19:15:32浏览次数:10  
标签:username const context dart key 5.16 TextEditingController

import 'package:flutter/material.dart';
import 'package:test1/Do/UserDao.dart'; // Make sure this path is correct
import 'package:test1/page/logined.dart';
import 'register.dart'; // Import your RegisterPage class

class LoginPage extends StatelessWidget {
LoginPage({required Key key}) : super(key: key);

// Move TextEditingController declaration outside of build method
final TextEditingController usernameController = TextEditingController();
final TextEditingController passwordController = TextEditingController();

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('登录'),
),
body: Padding(
padding: const EdgeInsets.all(20.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
TextFormField(
controller: usernameController, // assign controller
decoration: InputDecoration(
labelText: '用户名',
),
),
const SizedBox(height: 20.0),
TextFormField(
controller: passwordController, // assign controller
decoration: const InputDecoration(
labelText: '密码',
),
obscureText: true,
),
const SizedBox(height: 20.0),
ElevatedButton(
onPressed: () {
String username = usernameController.text.trim();
String password = passwordController.text.trim();

// Remove extra condition check
if (username.isNotEmpty && password.isNotEmpty) {
// 调用后端登录函数
login(context, username, password);

// Navigate to MyApp2 with username parameter
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => MyApp2(username: username),
),
);
} else {
// 提示用户输入完整的信息
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('请输入完整的信息'),
),
);
}
},
child: const Text('登录'),
),
const SizedBox(height: 10.0),
TextButton(
onPressed: () {
// Navigate to the RegisterPage
Navigator.push(
context,
MaterialPageRoute(builder: (context) => RegisterPage(key: UniqueKey())),
);
},
child: const Text('注册'),
),
],
),
),
);
}
}

标签:username,const,context,dart,key,5.16,TextEditingController
From: https://www.cnblogs.com/kongxiangzeng/p/18246559

相关文章

  • 2024.5.16
    8-8【Python0009】查找鞍点分数10全屏浏览作者 doublebest单位 石家庄铁道大学【题目描述】对于给定5X5的整数矩阵,设计算法查找出所有的鞍点的信息(包括鞍点的值和行、列坐标,坐标从1开始)。提示:鞍点的特点:列上最小,行上最大。【练习要求】请给出源代......
  • 2024.05.16
    所花时间(包括上课):6h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习。我了解到的知识点:1.了解了一些数据库的知识;2.了解了一些python的知识;3.了解了一些英语知识;5.了解了一些Javaweb的知识;4.了解了一些数学建模的知识;6.了解了一些计算机网络的知识;......
  • 5.16
    与小组成员讨论如何完善每日心情的记录,并且将完整的内容写完代码行量:160行学习所花时间:0.5h  packagecom.example.memosystem.activity;importandroid.os.Bundle;importandroid.util.Log;importandroid.view.View;importandroid.widget.Button;importandroid.widget.......
  • 5.16
    今天的任务中使用到了两个fragment,这可以这样就可以通过下方的导航栏来实现页面的切换,方便第二阶段的编写。其次就是安卓中listview的使用,根据要求的不同通过创建每一行的视图来使用适配器进行绑定,这样也方便设置行点击事件。//主要的功能代码packagecom.example.limit_tex......
  • 5.16
    Python面向对象基础训练班级:信2205-1学号:20224074 姓名:王晨宇一实验目的l 使学生掌握Python下类与对象的基本应用;l 使学生掌握Python下继承与多态的基本应用;l 使学生掌握Python接口的基本应用;l 使学生掌握Python异常处理的基本应用;二实验环境及实验准备l ......
  • 力扣2589 5.16
    原题网址:此处为链接个人难度评价:1700分析:原本的想法是按开始时间排序后遍历,然后贪心的把下一段的和这一段的放一起,发现不够放了就把不够的算出来截为新的一段。最后发现其实有后效性。正解的贪心是:按结束时间排序后(当然是升序),贪心的把本段的都放最后。每次放的时候先检查本区......
  • 5.16
    计网TCP的流量控制5.7.1利用滑动窗口实现流量控制流量控制:让发送方发送速率不要太快,让接收方来得及接收滑动窗口的单位:字节滑动窗口流量控制流程:开始时rwnd=400,每个报文段长100字节持续计时器:解决盲等死锁。只要TCP连接的一方收到对方的零窗口通知,就启动持续计时器,若计时器到......
  • 2024.5.16鲜花/燃料不纯的火箭与璀璨夺目的陨星
    前言在阅读本篇之前,建议先阅读上一篇鲜花。正文作为星际新闻局长,审核新闻稿之类的事自然是不需要我亲自动手,所以我每天都有大把的私人时间,这时候,我就会去看看星际新闻,也算是为自己负责的节目增加一点收视率。某一天,我看见一则新闻:【数据删除】中学校领导在线上招生典礼上介......
  • 5.16
    想了一下学习记录总结该怎么总结最后还是以学习的时长来做标准了@OverridepublicvoidsummaryRecord(intplanId){List<Record>records=recordMapper.listRecord(planId);//计算时间间隔(小时longintervalInHours=0;for......
  • 5.16软工日报
    实现了博客的退出登录使用SpringSecurity框架,配合redis和token实现packagecom.huanf.controller;importcom.huanf.domain.ResponseResult;importcom.huanf.domain.User;importcom.huanf.enums.AppHttpCodeEnum;importcom.huanf.exception.SystemException;importcom......