Win10 磁盘占用 100% 有效解决办法
https://www.cnblogs.com/yangyxd/p/6164703.html
https://api.flutter.dev/flutter/widgets/Navigator-class.html
https://flutter.cn/docs/reference/widgets
https://pub.flutter-io.cn/packages/flutter_treeview
https://www.cnblogs.com/ahyang/p/11953414.html
实战 https://www.cnblogs.com/yiweiyihang/p/11410269.html
https://www.cnblogs.com/xiaoyan2017/p/12879705.html
框架菜单
列表
树形菜单
页面路由
表单建立 表单控件 数据验证 提交按钮
卡死了
https://flutter.cn/
https://flutter.cn/docs/cookbook
https://flutter.cn/docs/cookbook/navigation
https://flutter.cn/docs/cookbook/navigation/navigate-with-arguments
https://book.flutterchina.club/#%E7%BC%98%E8%B5%B7
https://book.flutterchina.club/chapter15/code_structure.html
flutter.dev/widgets for a catalog of commonly-used Flutter widgets.
material.io/design for an introduction to Material Design.
https://www.cnblogs.com/fengqingyangNo1/p/12927538.html
crossAxisAlignment: CrossAxisAlignment.start,
https://flutter.cn/docs/cookbook/forms
https://www.cnblogs.com/yangyxd/p/9232308.html
https://www.cnblogs.com/yiweiyihang/p/11410269.html
响应文本框内容的更改
https://flutter.cn/docs/cookbook/forms/text-field-changes
https://blog.csdn.net/Android_SE/article/details/90413832
表单 登录 注册
https://flutter.cn/docs/resources/inside-flutter
https://book.flutterchina.club/chapter15/network.html#_15-5-2-%E5%B0%81%E8%A3%85%E7%BD%91%E7%BB%9C%E8%AF%B7%E6%B1%82
https://book.flutterchina.club/chapter15/login_page.html
https://book.flutterchina.club/chapter15/entry.html#_15-6-3-%E6%8A%BD%E5%B1%89%E8%8F%9C%E5%8D%95
https://blog.csdn.net/goGoing_/article/details/114301740
登录 注册
http://www.ptbird.cn/flutter-form-textformfield.html
https://cloud.tencent.com/developer/article/1598587
加载 https://api.flutter.dev/flutter/material/RefreshIndicator-class.html
路由https://api.flutter.dev/flutter/widgets/Navigator-class.html
按钮 https://api.flutter.dev/flutter/material/FloatingActionButton-class.html
弹出 https://api.flutter.dev/flutter/material/AlertDialog-class.html
图标
字体
Card https://api.flutter.dev/flutter/material/Card-class.html
https://api.flutter.dev/flutter/material/Divider-class.html
https://api.flutter.dev/flutter/material/ElevatedButton-class.html
https://api.flutter.dev/flutter/widgets/Icon-class.html
https://api.flutter.dev/flutter/widgets/GridView-class.html
表单 https://api.flutter.dev/flutter/widgets/Form-class.html
tab https://api.flutter.dev/flutter/material/TabController-class.html
https://api.flutter.dev/flutter/material/TabController-class.html
https://api.flutter.dev/flutter/material/TabBarView-class.html
https://api.flutter.dev/flutter/material/TabPageSelector-class.html
顶部 https://api.flutter.dev/flutter/material/AppBar-class.html
https://gallery.flutter.cn/#/
列表
https://api.flutter.dev/flutter/widgets/Table-class.html
https://api.flutter.dev/flutter/material/PaginatedDataTable-class.html
页面 https://api.flutter.dev/flutter/material/Scaffold-class.html
label https://api.flutter.dev/flutter/widgets/Text-class.html
文本框 https://api.flutter.dev/flutter/material/TextField-class.html
https://api.flutter.dev/flutter/material/Autocomplete-class.html
文本区 https://api.flutter.dev/flutter/widgets/RichText-class.html
The RichText widget displays text that uses multiple different styles. The text to display is described using a tree of TextSpan objects, each of which has an associated style that is used for that subtree. The text might break across multiple lines or might all be displayed on the same line depending on the layout constraints.
RichText(
text: TextSpan(
text: 'Hello ',
style: DefaultTextStyle.of(context).style,
children: const <TextSpan>[
TextSpan(text: 'bold', style: TextStyle(fontWeight: FontWeight.bold)),
TextSpan(text: ' world!'),
],
),
)
https://api.flutter.dev/flutter/cupertino/CupertinoTabBar-class.html
https://api.flutter.dev/flutter/cupertino/CupertinoTabScaffold-class.html
日期时间
https://api.flutter.dev/flutter/cupertino/CupertinoDatePicker-class.html
https://api.flutter.dev/flutter/cupertino/CupertinoPicker-class.html
https://api.flutter.dev/flutter/material/showDatePicker.html
数字 整数
复选框 https://api.flutter.dev/flutter/material/Checkbox-class.html
https://api.flutter.dev/flutter/material/Radio-class.html
https://api.flutter.dev/flutter/material/Checkbox-class.html
下拉选项
多选列表
文件上传 https://www.cnblogs.com/sangwl/p/11001783.html
https://zhuanlan.zhihu.com/p/347844335
邮政编码
=============================================
文本框
https://flutter.cn/docs/cookbook/forms/text-input
文本框作为一个接收用户输入的组件,被广泛应用于表单构建、即时通讯、搜索等场景中。
Text fields allow users to type text into an app. They are used to build forms, send messages, create search experiences, and more. In this recipe, explore how to create and style text fields.
Flutter 提供了两个开箱即用的文本框组件: TextField 和 TextFormField。
Flutter provides two text fields: TextField and TextFormField.
文本框
TextField 是最常用的文本输入组件。
TextField 组件的默认样式是带有下划线的装饰样式。如果需要自定义装饰样式(添加标签、图标、提示文本和错误文本),可以将 InputDecoration 应用到 TextField 的 decoration 属性上。如果需要完全移除下划线和标签预留空间,可以将 decoration 属性设置为 null。
content_copy
TextField(
decoration: InputDecoration(
border: OutlineInputBorder(),
hintText: 'Enter a search term'
),
);
要在内容发生变化时收到此内容,请参见 响应文本框内容的更改。
表单文本框
TextFormField 内部封装了一个 TextField 并被集成在表单组件 Form 中。如果需要对文本输入进行验证或者需要与其他表单组件 FormField 交互联动,可以考虑使用 TextFormField。
content_copy
TextFormField(
decoration: InputDecoration(
border: UnderlineInputBorder(),
labelText: 'Enter your username'
),
);
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
final appTitle = 'Form Styling Demo';
return MaterialApp(
title: appTitle,
home: Scaffold(
appBar: AppBar(
title: Text(appTitle),
),
body: MyCustomForm(),
),
);
}
}
class MyCustomForm extends StatefulWidget {
@override
MyCustomFormState createState() {
return MyCustomFormState();
}
}
class MyCustomFormState extends State<MyCustomForm> {
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Padding(
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 16),
child: TextField(
decoration: InputDecoration(
border: OutlineInputBorder(),
hintText: 'Enter a search term',
),
),
),
Padding(
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 16),
child: TextFormField(
decoration: InputDecoration(
border: UnderlineInputBorder(),
labelText: 'Enter your username',
),
),
),
],
);
}
}
文本焦点https://flutter.cn/docs/cookbook/forms/focus
=============================================
构建一个有验证判断的表单
https://flutter.cn/docs/cookbook/forms/validation
获取文本框的输入值
https://flutter.cn/docs/cookbook/forms/retrieve-input
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const MaterialApp(
title: 'Retrieve Text Input',
home: MyCustomForm(),
);
}
}
// Define a custom Form widget.
class MyCustomForm extends StatefulWidget {
const MyCustomForm({Key? key}) : super(key: key);
@override
_MyCustomFormState createState() => _MyCustomFormState();
}
// Define a corresponding State class.
// This class holds the data related to the Form.
class _MyCustomFormState extends State<MyCustomForm> {
// Create a text controller and use it to retrieve the current value
// of the TextField.
final myController = TextEditingController();
@override
void dispose() {
// Clean up the controller when the widget is disposed.
myController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Retrieve Text Input'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: TextField(
controller: myController,
),
),
floatingActionButton: FloatingActionButton(
// When the user presses the button, show an alert dialog containing
// the text that the user has entered into the text field.
onPressed: () {
showDialog(
context: context,
builder: (context) {
return AlertDialog(
// Retrieve the text the that user has entered by using the
// TextEditingController.
content: Text(myController.text),
);
},
);
},
tooltip: 'Show me the value!',
child: const Icon(Icons.text_fields),
),
);
}
}
FloatingActionButton(
// When the user presses the button, show an alert dialog containing the
// text that the user has entered into the text field.
onPressed: () {
showDialog(
context: context,
builder: (context) {
return AlertDialog(
// Retrieve the text the user has entered by using the
// TextEditingController.
content: Text(myController.text),
);
},
);
},
tooltip: 'Show me the value!',
child: Icon(Icons.text_fields),
);
https://api.flutter.dev/flutter/material/material-library.html
展现的部分占三成 修改编辑部分只占一成而已
内存太小了的要命了
TextFormField
flutter专门为表单提交提供了一套解决方法,主要由Form,TextFormField,组件,GlobalKey属性,组成.onSaved回调一个参数为String value的方法,调用时机与onChanged不同,会在_formKey.currentState.save()执行时调用.TextFormField中的validator是一个验证器,同样回调一个方法,可以根据自定义条件返回错误信息.它的会在_formKey.currentState.validate();方法调用是回调
onSaved 它的会在_formKey.currentState.validate();方法调用是回调
https://zzk.cnblogs.com/s?w=flutter
flutter Form
https://flutter.cn/docs/get-started/install
https://flutter.cn/docs/cookbook
https://flutter.dev/docs/cookbook/forms
https://flutter.cn/docs/cookbook/forms/text-field-changes
Work
--Notice
--WordPub
--AddWordPub
--DaKa
Talk RocketMQ
---Group
---People
---Panel
LVedio
SVeido ffemge rtmp
---View Star Save SharePanel ShareView
---Commit
---Upload
Login
LoginOut
GetPassword
Register
视频剪辑美化
压缩编辑修改的功能。全部投入到前台展示上去。只有一个上传页是用户在操作了更多的是在看。
用Android访问本地站点---(localhost,10.0.2.2)