首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

FormState vs FormFieldState,什么时候使用哪个?

FormState和FormFieldState是Flutter中与表单相关的两个类。

FormState是一个表示整个表单的状态的类,它包含了表单中所有字段的状态信息。FormState可以用于验证整个表单的输入数据、重置表单、提交表单等操作。在创建表单时,需要使用Form组件并通过Form的onSaved回调函数获取到FormState对象。

FormFieldState是一个表示单个表单字段的状态的类,它包含了字段的值、验证状态、错误信息等信息。FormFieldState可以用于获取字段的值、验证字段的输入、设置错误信息等操作。在创建表单字段时,需要使用FormField组件并通过FormField的onSaved回调函数获取到FormFieldState对象。

当需要对整个表单进行操作时,如验证整个表单的输入数据、重置表单、提交表单等,应该使用FormState。而当需要对单个表单字段进行操作时,如获取字段的值、验证字段的输入、设置错误信息等,应该使用FormFieldState。

以下是FormState和FormFieldState的一些常见应用场景:

  1. 使用FormState进行表单验证:通过调用FormState的validate方法,可以对整个表单进行验证,检查所有字段的输入是否符合要求。
  2. 使用FormFieldState获取字段的值:通过调用FormFieldState的value属性,可以获取到字段当前的值。
  3. 使用FormFieldState验证字段的输入:通过调用FormFieldState的validate方法,可以对单个字段进行验证,检查字段的输入是否符合要求。
  4. 使用FormState重置表单:通过调用FormState的reset方法,可以将表单中所有字段的值重置为初始值。
  5. 使用FormState提交表单:通过调用FormState的save方法,可以将表单中所有字段的值保存起来,以便提交到服务器或进行其他操作。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云Flutter开发平台:https://cloud.tencent.com/product/flutter
  • 腾讯云移动应用开发平台:https://cloud.tencent.com/product/madp
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库MySQL版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云人工智能平台:https://cloud.tencent.com/product/ai
  • 腾讯云物联网平台:https://cloud.tencent.com/product/iotexplorer
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务:https://cloud.tencent.com/product/tbaas
  • 腾讯云元宇宙平台:https://cloud.tencent.com/product/tencent-meta-universe
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Flutter Form表单控件超全总结

FormField FormField是一个表单控件,此控件包含表单的状态,方便更新UI,通常情况下,我们不会直接使用FormField,而是使用TextFormField。...null:'账号最少6个字符'; }, ) TextFormField效果如下: [1240] onSaved是一个可选参数,当Form调用FormState.save时才会回调此方法。...autovalidate参数为是否自动验证,设置为true时,TextField发生变化就会调用validator,设置false时,FormFieldState.validate调用时才会回调validator...在使用Form的时候需要设置其key,通过key获取当前的FormState,然后可以调用FormState的save、validate、reset等方法,一般通过如下方法设置: final _formKey...= GlobalKey(); Form( key: _formKey, ... ) 获取FormState并调用相关方法: var _state = _formKey.currentState

3.3K00
  • 都2021年了,你不会还没掌握响应式网页设计吧?

    如何掌握响应式网页设计 知道响应式设计与自适应设计 反应灵敏 适应性强 使用相对单位 将设计划分为断点 引导响应断点 了解最大值和最小值 使用嵌套对象 移动端或PC端优先 理解Web VS System...字体 Bitmap vs vector 图像 你是否仍然在努力使网站具有响应能力。....parent span { color: black; } .parent p { color: blue; } ---- 移动端或PC端优先 什么时候...“PC端优先”合适 当PC端的销量很高时 用户界面丰富 专注于复杂和增强的视觉效果 具有生产力工具或与业务相关的服务的网站 高度精致的用户体验 什么时候“移动端优先”合适 简单而简约的网站 用户体验针对移动设备进行了优化...使用哪个? 矢量图像:比Bitmap图像更具可扩展性,能够增加图形的大小而不会产生像素化和更好的质量。 ----

    1.1K20

    都2021年了,你不会还没掌握响应式网页设计吧?

    适应性强 自适应设计使用一些固定的布局,然后为当前屏幕尺寸选择最佳的布局。 ---- 使用相对单位 开始使用相对单位代替使用绝对单位。....parent span { color: black; } .parent p { color: blue; } ---- 移动端或PC端优先 什么时候...---- 理解Web VS System字体 您网站上加载的每一种字体或字体都将发送到服务器并发出请求,然后再返回。.... ---- Bitmap vs vector 图像 Bitmap图像存储为一系列称为像素的小点, vector(矢量)图像是由点,线和曲线组成的艺术品,这些点,线和曲线基于数学方程式,而不是单色的正方形像素...使用哪个? 矢量图像:比Bitmap图像更具可扩展性,能够增加图形的大小而不会产生像素化和更好的质量。

    52910

    性能测试、负载测试、压力测试-之间的差异

    7、为什么要进行压力测试 8、什么时候使用性能测试 9、什么时候使用负载测试 10、什么时候使用压力测试 11、结论 1、什么是性能测试 性能测试是一种用于确定计算机、网络或设备速度的测试。...这种测试技术使用自动生成的模拟模型来检查所有假设场景。 4、性能测试 vs 负载测试 vs 压力测试 5、为什么要进行性能测试 1、验证应用程序正常运行。 2、验证以符合业务的性能需求。...8、什么时候使用性能测试 进行性能测试以检查网站服务器、数据库和网络的性能。如果您采用瀑布方法,那么检查新版本的每次发布对您来说很重要。...但是,如果您使用的是敏捷软件开发方法,那么您需要不断地测试应用程序。 9、什么时候使用负载测试 执行负载测试以确定系统可以处理多少用户。您还可以查看不同的场景,让您专注于系统的不同部分。...10、什么时候使用压力测试 网站和应用程序压力测试在大型活动之前很重要,例如人们需求量很大的著名音乐会的门票销售。所以定期测试系统的续航能力是非常重要的。

    1.7K21

    PHP 扩展开发初探

    什么时候使用 PHP 扩展 单独的使用 PHP 语言并不能满足所有的开发,比如在项目中使用 Redis 或 MongoDB 时,就需要相应的 PHP 扩展,来增强 PHP 语言,让 PHP 可以来操作...什么时候开发自己的 PHP 扩展 开发自己的 PHP 扩展是必须的么?其实不是。通常情况下,作为一个 PHPer 是不需要自己开发 PHP 扩展的,但是某些情况下可能是必须要开发 PHP 扩展的。...当然了,其他版本的 VS 也应该是可以的,只是我只测试了 VS2015 罢了。...下载完的的文件为:php-7.2.20-src.zip 下载完源码进行解压,解压后的目录为:php-7.2.20-src 下载源码并不是一件复杂的事情,但是页面中有多个版本的源码可供下载,选择哪个有时也是比较纠结的问题...使用 VS2015 创建扩展项目 打开 VS2015,我这里使用的是 VS2015,其他开发环境没有进行测试。

    91940

    Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本、图像等领域,支持文搜、图搜文、图搜图匹配搜索

    Features(SURF)(doing) 3.图文相似度计算 CLIP(Contrastive Language-Image Pre-Training) 4.匹配搜索 SemanticSearch:向量相似检索,使用...SBERT-multi 18.42 38.52 63.96 10.14 78.90 41.99 2371 Text2vec 31.93 42.67 70.16 17.21 79.30 48.25 2572 结果值使用...git clone https://github.com/shibing624/similarities.git cd similarities python3 setup.py install 7.使用场景推荐...如何更换花呗绑定银行卡 vs 花呗更改绑定银行卡, score: 0.8551 如何更换花呗绑定银行卡 vs什么时候开通了花呗, score: 0.7212 如何更换花呗绑定银行卡 vs 俄罗斯警告乌克兰反对欧盟协议...vs什么时候开通了花呗, score: 0.6807 花呗更改绑定银行卡 vs 俄罗斯警告乌克兰反对欧盟协议, score: 0.1714 花呗更改绑定银行卡 vs 暴风雨掩埋了东北部;新泽西16

    3.2K31

    阿里一面面经C++

    Q:你写的库的对于使用者有什么优势?   A:……你可以用我的APIbalabala……   Q:给我一个用你的协程库的场景吧??   A:YY了一个轮询读文件的场景。  ...不是很完善……   Q:上个读文件的场景,什么时候才会阻塞?   A:设一个NONBLOCK位,在出错读到EAGAIN的时候就切换出去。   Q:如果两个都阻塞了呢?  ...A:小端序   Q:虚函数指针什么时候会出现?   A:在有虚函数的时候~   Q:static的作用?   A:都懂得,这里不展开了   Q:多个进程同时监听一个UDP端口会怎么样?  ...A:内核、栈、动态链接库、堆、静态区、代码段、保留区   Q:静态变量和全局变量在哪个区?   A:静态区……   Q:++i和i++的区别?   A:++i效率比较高。  ...A:gdb,log,valgrind, vs   Q: CPU高了怎么看?

    38320

    视频号 2 场直播和CKL连麦

    2、敏捷测试团队的测试开发比是多少 敏捷团队的测试开发比为 1 vs 10、1 vs 11,甚至 1 vs 更多。 3、一句话需求也需要写测试用例吗 需要。...我们可以做需求实例化,把每一条需求拆解成用户故事(谁要使用这个功能、需要完成什么样的功能、为什么需要这个功能)。 每一个用户故事最终可以汇聚成一个用户故事地图。 4、质量内建对所有企业都适用吗 是的。...需要测试人员能与开发平等对话(了解研发设计模式、技术选型); 需要测试人员对研发过程有完整的了解(什么时候写代码、什么时候集成、什么时候验证、怎么去发布、基于什么发布等等); 需要测试人员帮助团队建立质量观

    2.7K30

    【数据看球】2018 年世界杯夺冠预测,CDA带你用机器学习来分析

    下面让我们一起预测哪个国家会赢得本次世界杯。 ? 足球比赛涉及到很多因素,因此许多因素无法在机器学习模型中进行探讨。这只是我作为技术宅,从数据角度的尝试。 目标 1....数据 我使用了Kaggle的两个数据集,包括自1930年起所有参赛队在国际比赛中的结果。...预测比赛 你肯定在想什么时候才能到预测部分。前面代码和解释占据了太多的篇幅,现在我们开始预测。 将模型部署到数据集 首先将模型部署到小组赛。 ? 下面是小组赛的结果。 ? ? ? ?...四分之一决赛 四分之一决赛的情况为: 葡萄牙vs法国,巴西vs英格兰,西班牙vs阿根廷,德国vs比利时。 预测结果: ? 半决赛 葡萄牙vs巴西;德国vs阿根廷 预测结果: ?...决赛 巴西vs德国 预测结果:巴西获胜。 ? 根据模型预测,巴西很可能赢得本次世界杯。 结语 研究和改进空间: 1.数据集。为了改进数据集,你可以使用国际足联数据来评估球队中每个球员的水平。

    50220

    ReactJS 与 VueJS:两种流行前端 JS 框架之战

    确实很难表明哪个能推翻另一个。但是,我们试图在此处区分这两个框架。请阅读本文… 不用说,Javascript赢得了数百万的赞誉,大型巨头正在使用此技术抢占份额。...在经过专家的全面分析之后,我们在本文中讨论了两个框架 Vue.Js vs React.Js 之间的关键区别。看看哪个最适合你的开发。...什么时候选择 Vue.Js? Vue.Js 有助于创建更简单、更快速的 Web 应用程序。如果你的项目需要轻量级的现代 UI 库和单页应用,请使用 Vue.Js。...什么时候选择 React.Js? 如果你的项目不需要构建移动端应用,而仅需要构建大型应用,那么 React 无疑是你的首选。它轻巧、灵活并且能够轻松的迁移。...原文链接 https://kodytechnolab.com/reactjs-vs-vuejs-comparison

    3.5K20

    解锁搜索新境界!让文本语义匹配助你轻松找到你需要的一切!(快速上手baseline)

    花呗更改绑定银行卡, score: 0.9375 花呗更改绑定银行卡 vs什么时候开通了花呗, score: 0.5000 Computing corpus SimHash: 100%|█████...花呗更改绑定银行卡, score: 0.7948 花呗更改绑定银行卡 vs什么时候开通了花呗, score: 0.4048 Computing corpus TFIDF: 100%|███████...花呗更改绑定银行卡, score: 0.9812 花呗更改绑定银行卡 vs什么时候开通了花呗, score: 0.8264 Word2Vec Embeddings: 100%|██████████...花呗更改绑定银行卡, score: 0.8889 花呗更改绑定银行卡 vs什么时候开通了花呗, score: 0.2222 sim search: {0: {3: 0.75, 4: 0.25,...花呗更改绑定银行卡, score: 0.5556 花呗更改绑定银行卡 vs什么时候开通了花呗, score: 0.2222 sim search: {0: {3: 0.375, 4: 0.25,

    33010

    观点 | 玩转「马里奥」的算法能搞定「口袋妖怪」吗?

    「马里奥」和「口袋妖怪」之间存在的三个关键差异点,可用来解释其原因: 第一,目标的数量 第二,分支乘数 第三,局部优化 VS 全局优化 下面,让我们就这三个因素来比较这两款游戏吧。...局部优化 VS 全局优化 局部优化和全局优化可被看作兼有空间和时间上的意义。短期的目标和当前的地理区域被视为局部的,而长期目标和相对较大的区域例如城市甚至整个地图,被视为全局的。...优化局部以实现从一个区域的点 A 到点 B 是简单的,但是决定哪个目的地是最佳的点 B,是一个更难得多的问题。在这里,贪婪算法就失效了,因为局部优化的决策步骤并不一定带来全局最优。...选择使用哪个动作,换入哪个口袋妖怪以及什么时候使用不同的道具,都是它要独立处理的复杂的优化问题。经过查找,我找到了这篇文章 Gotta Code'em all!...它是经过深思熟虑的,并且有着难以置信的复杂度,甚至不考虑道具的使用——而这是决定对战结果的一个关键因素。 目前为止,对于打造了在游戏中比我们的表现更好的机器人这一现实,我们应该感到欣慰。

    39420

    React 我爱你,但你太让我失望了

    同时,这也增加了构建框架的难度 — 其他开发者无法轻易地使用现有的 reducer 来调整程序。 但是你也注意到了这一点,于是决定放弃 Redux 转而使用你自己的 useContext 。...react-hook-form.com/advanced-usage/#FormProviderPerformance const NestedInput = memo( ({ register, formState...& This field is dirty} ), (prevProps, nextProps) => prevProps.formState.isDirty...=== nextProps.formState.isDirty, ); export const NestedInputContainer = ({ children }) => { const...如果是,什么时候呢? 你如何看待像我这样的三方库开发者? 我应该忘记你,然后去做点别的事情吗? 还是我们应该呆在一起,并努力维持我们的关系? 我们的下一步是什么呢?你告诉我。

    1.1K20

    变量的属性: 不可变(immutable), 可变(mutable), 重定义(shadowing), 常量(const), 静态(static)

    immutable: 不可变变量 mutable: 可变变量 shadowing: 重定义(遮蔽)一个变量 const: 常量 static: 静态变量 不可变变量(immutable) vs 可变变量...("{}", x + y); } 重定义(shadowing) vs 可变变量(mut) 重定义(遮蔽)特性是一个 Rust 特有的语言特性。...重定义特性可以作用于可变变量 重定义特性不可以作用于 static 变量 重定义特性不可以作用于 const 常量 常量(const) 常量的一个非常重要的特点是: 它的值会在编译时被 copy 到使用的地方...("{}", LEVEL); } } 静态(static) vs 常量(const) 那么,什么时候使用静态变量?什么时候使用常量呢?...数据占有内存比较大的场合,使用静态变量; 程序需要变量的地址属性的情况下,使用静态变量; 变量需要是可变的情况下,使用静态变量; 其它场合,推荐使用常量; 参照 官方文档: Constant Items

    1.2K20

    【代码+推导】常见损失函数和评价指标总结

    MAE(L1) VS MSE(L2): MSE计算简便,但MAE对异常点有更好的鲁棒性:当数据中存在异常点时,用MSE/RMSE计算损失的模型会以牺牲了其他样本的误差为代价,朝着减小异常点误差的方向更新...当Huber损失在之间时,等价为MSE 在和时等价为MAE 使用MAE训练神经网络最大的一个问题就是不变的大梯度,这可能导致在使用梯度下降快要结束时,错过了最小点。...,也就无法判断模型更适合预测哪个问题。...得到的性能度量都在[0, 1]之间,可以判断此模型更适合预测哪个问题。 公式的理解: image.png 7....很难说什么时候降低FP,什么时候降低FN。基于我们不同的需求,来决定降低FP还是FN。 降低假负数例(FN):假设在一个癌症检测问题中,每100个人中就有5个人患有癌症。

    1.3K81
    领券