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

"TextEditingController _controller;“和"final _controller = TextEditingController();”有什么区别?

TextEditingController _controller;final _controller = TextEditingController(); 在Dart语言中都是用于管理文本输入框(如TextField)的控制器,但它们在声明和使用上有一些区别:

TextEditingController _controller;

  1. 声明方式
    • 这是一种延迟初始化的方式。_controller被声明为一个变量,但没有立即初始化。
  • 使用场景
    • 适用于需要在特定时刻或条件下初始化控制器的场景。
    • 可以在构造函数或其他方法中进行初始化。
  • 示例代码
  • 示例代码

final _controller = TextEditingController();

  1. 声明方式
    • 这是一种立即初始化的方式。_controller被声明为final,并且在声明时就进行了初始化。
  • 使用场景
    • 适用于控制器在整个生命周期中都不会改变的场景。
    • 可以简化代码,避免在多个地方进行初始化。
  • 示例代码
  • 示例代码

总结

  • TextEditingController _controller;:延迟初始化,适用于需要在特定时刻或条件下初始化的场景。
  • final _controller = TextEditingController();:立即初始化,适用于控制器在整个生命周期中都不会改变的场景,可以简化代码。

参考链接

通过以上解释和示例代码,希望你能更好地理解这两种声明方式的区别和使用场景。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Controller中的请求,privatepublic什么区别

Controller 中的请求方法,通常我们都是 public 的,如果是 private 的、protected 的行不行,为什么?...return service.getTestString(); } } /testA是 pulibc,/testB是 pirvate,测试结果「均能返回"业余草"字符串」 测试公司环境还有一个不太同的就是公司项目中有...@Aspect @Component public class WebLogAspect { private final Logger logger = LoggerFactory.getLogger...@Pointcut("execution(private* com.spring.controller..*.*(..))")...对于子类,其父类中,private修饰的方法,子类如果与父类不在同一包下,是没有访问的权限的,此场景下,cglib 生成的子类,不会父类在同一包下,也就是private修饰的方法,不能进行动态代理,所以会报空指针异常

1.7K20
  • 《深入浅出Dart》Flutter实战之TODO应用

    todos[index] = editedTodo; } }); } } } 在这段代码中,我们创建了一个TodoListScreen类作为任务列表页面,它是一个状态的小部件...在build方法中,我们使用ScaffoldListView.builder来显示所有的任务,并为每个任务提供了标题、描述完成状态的展示。...EdgeInsets.all(16.0), child: Column( children: [ TextField( controller...isCompleted, ); Navigator.pop(context, newTodo); } } 在这段代码中,我们创建了一个TodoEditScreen类作为任务编辑页面,它也是一个状态的小部件...在build方法中,我们使用ScaffoldColumn来显示标题、描述完成状态的输入字段。用户可以在这个页面上输入任务的详细信息,并使用保存按钮将其保存。

    22920

    Flutter组件学习(三)—— 输入框TextFiled

    1.0 正式版本,正式版发布之后,LZ身边越来越多的人都开始入坑了,不得不说 Flutter 框架的魅力还是很吸引人的哈,所以我们更要抓紧学习了;之前我写了两篇文章来介绍 Flutter中的Text组件 ...Text 组件的时候已经讲过的,接下来我们一个一个来看这些属性: 1、controller 根据字面意思我们就可以知道,这是一个控制器,毫无疑问当然是控制 TextField 组件的了,用处很多,可以监听输入框的输入...(通过controller.addListener()),可以获取输入框的值,可以设置输入框的值等等。...1TextEditingController _textEditingController = new TextEditingController(); 2 3new TextField( 4...controller: _textEditingController, 5), 6new RaisedButton( 7 onPressed: () { 8 print(_textEditingController.text

    2.5K50
    领券