定义好一个有状态(或无状态)的组件之后,需要为其传递一些参数,希望组件能够更加灵活使用。那么,在 Flutter 中如何为其传递参数呢?

以下是 StatefulWidget 传递值的步骤,一共三步:

1、类中定义 final 全局变量;

class QYInput extends StatefulWidget {
final int minLines;
}

2、构造函数中初始化变量;

class QYInput extends StatefulWidget {
final int minLines; const QYInput({Key? key, this.minLines = 1}) : super(key: key);
}

3、继承于 State 抽象类中通过 widget.xxx 调用变量。

class _QYInputState extends State<QYInput> {
@override
Widget build(BuildContext context) {
return TextField(minLines: widget.minLines);
}
}

注意:如果 TextFiled 组件前加上了 const 关键字,极有可能出现调用 StatefulWidget 组件的参数时(widget.xxx)报 Invalid Constant Value的错误,详细请查看博客文章。

Flutter:StatefulWidget 怎么传参的更多相关文章

  1. Flutter路由的跳转、动画与传参(最简单)

    跳转 命名路由 在文件构建时先设置路由参数: new MaterialApp( // 代码 routes: { "secondPage":(BuildContext context ...

  2. Flutter路由跳转父级页面向子页面传参及子页面向父级页面传参

    Flutter中页面通过路由跳转传参主要分两种,一种是通过push()跳转时根据设定的参数进行传参,另一种是通过pop()返回时进行传参. 父级页面向子页面push()传参 假设从A页面跳到B页面可能 ...

  3. Flutter 路由 页面间跳转和传参 返回

    Navigator Navigator用来管理堆栈功能(即push和pop),在Flutter的情况下,当我们导航到另一个屏幕时,我们使用Navigator.push方法将新屏幕添加到堆栈的顶部.当然 ...

  4. flutter页面间跳转和传参-Navigator的使用

    flutter页面间跳转和传参-Navigator的使用 概述 flutter中的默认导航分成两种,一种是命名的路由,一种是构建路由. 命名路由 这种路由需要一开始现在创建App的时候定义 new M ...

  5. Oracle 用Drapper进行like模糊传参查询需要在参数值前后带%符合

    Oracle 用Drapper进行like模糊传参查询需要在参数值前后带%符合   string sqlstr="select * from tblname where name like ...

  6. Angular页面传参的四种方法

    1. 基于ui-router的页面跳转传参 (1)在Angular的app.js中用ui-route定义路由,比如有两个页面, 一个页面(producers.html)放置了多个producers,点 ...

  7. 使用java传参调用exe并且获取程序进度和返回结果的一种方法

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 在某个项目中需要考虑使用java后台调用由C#编写的切图程序( ...

  8. Oracle Sales Cloud:报告和分析(BIEE)小细节2——利用变量和过滤器传参(例如,根据提示展示不同部门的数据)

    在上一篇随笔中,我们建立了部门和子部门的双提示,并将部门和子部门做了关联.那么,本篇随笔我们重点介绍利用建好的双提示进行传参. 在操作之前,我们来看一个报告和分析的具体需求: [1] 两个有关联的提示 ...

  9. js动态绑定click事件时function传参问题

    今天碰到了这样一个问题,我在javascript中动态创建了一个button, 然后我想给改button添加click事件,绑定的function想要传入一个变量参数, 一开始我想直接通过函数传参传进 ...

  10. C#进阶系列——WebApi 接口参数不再困惑:传参详解

    前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料.如今,使用WebApi也有段时间了,今天就记录下API接口传参的一些方式方法,算是一个笔记,也希望能帮初学者少走弯路.本 ...

随机推荐

  1. 【每日一题】【DFS】【BFS】【队列】2021年12月5日-199. 二叉树的右视图

    解答: /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * ...

  2. CTFshow——funnyrsa3

    题目如下: 题目分析: 发现常规rsa不存在的dp.查找资料知道 dp ≡ d mod (p - 1).意识到dp是解题关键,可能dp和n存在某种关系可以解出p或者去,跟之前有一题有点类似,求p和q之 ...

  3. 分享一个自己在用的.net 中mysql事务控制类(支持多条sql,参数化,自定义判断条件,错误点返回等)

    1)首先看下事务控制器. using MySql.Data.MySqlClient; using System; using System.Collections.Generic; using Sys ...

  4. Redis-03 Redis事务

    需要特别注意,Redis 的命令是原子性的,而 Redis 的事务是非原子性的 事务相关命令 MULTI 命令 开启事务命令,Redis将操作命令逐个放到队列中,根据EXEC命令来原子化执行命令 EX ...

  5. css预处理器scss/sass语法以及使用

    scss scss在css基础语法上面增加了变量 (variables).嵌套 (nested rules).混合 (mixins).导入 (inline imports) 等高级功能,使用scss可 ...

  6. 简述HashSet的扩容机制以及我们在重写equals()的时候为何会重写hashcode()

    简述HashSet的扩容机制以及我们在重写equals()的时候为何会重写hashcode()   摘要:在背面试知识点的时候存在这样一条著名的面试题:我们重写equals()的时候为什么要重写has ...

  7. P3934 [Ynoi2016] 炸脖龙 I

    题面 给一个长为 \(n\) 的序列,\(m\) 次操作,每次操作: 1.区间 \([l,r]\) 加 \(x\) 2.对于区间 \([l,r]\),查询: \[a[l]^{a[l+1]^{a[l+2 ...

  8. App几个可能造成内存泄漏的情况:

    App几个可能造成内存泄漏的情况: 1.block块中直接用self调用,self将会被block copy到内部增加一次饮用计数,形成循环引用 在block里调用self会不会造成循环引用和这个bl ...

  9. angular11 报错 ERROR Error: If ngModel is used within a form tag, either the name attribute must be set or the form

    angular 报错 ERROR Error: If ngModel is used within a form tag, either the name attribute must be set ...

  10. HashSet集合存储数据的结构(哈希表)-Set集合存储元素不重复的原理

    HashSet集合存储数据的结构(哈希表) 在JDK1.8之前,哈希表底层采用数组+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里.但是当位于一个桶中的元素较多,即hash值相等 ...