跳到主要内容

ValueListenableBuilder 局部刷新

管

管理员

http://laomengit.com/flutter/widgets/ValueListenableBuilder.html

2021年03月12日 1,424 次阅读
本页目录


更详细介绍:
https://cloud.tencent.com/developer/article/1768428
http://laomengit.com/flutter/widgets/ValueListenableBuilder.html
ValueListenableBuilder ValueNotifier

在开发应用程序的时候有些数据是全局的,贯穿整个应用程序,比如用户信息,我们希望当这些数据发生变化时,应用程序任何页面的数据都更新,ValueListenableBuilder组件就是解决此问题的。

基本用法如下:

ValueNotifier<String> _name = ValueNotifier<String>('');

ValueListenableBuilder(
    builder: (context, value, child) {
      return Text(value);
    },
    valueListenable: _name,
    child: Text('未登录'),
  );

说明如下:

  • builder:在数据发生变化时调用,共有3个参数,分别表示context、数据新的值、子控件。

  • valueListenable:监听到数据,数据类型为ValueNotifier。

  • child:此参数将会回传给builder,可以为null。

更新数据用法如下:

_name = ValueNotifier<String>('老孟'); //错误用法
_name.value = '老孟';
 

注意这2种写法,第一种是错误的。

Related

相关文章

同分类文章 →
2026年07月28日 flutter

Dart 3 记录(Records)和密封类(Sealed classes)

Dart 3 引入了几个极其强大的语言特性,其中最耀眼、对我们日常开发改变最大的就是 记录(Records) 和 密封类(Sealed classes),它们配合 模式匹配(Pattern Matching),让 Dart 的表现力达到了现代编程语言(如 Swift、Kotlin、Rust

2026年06月29日 flutter

flutter的 Clean Architecture架构设计

Clean Architecture(清晰架构)是一种将应用程序分层的设计模式,强调关注点分离与依赖规则,通过将业务逻辑与框架、UI、数据源解耦,提升代码的可测试性、可维护性与可扩展性。在 Flutter/Dart 环境下,Clean Architecture 通

2025年12月22日 flutter

Riverpod 实战:如何优雅地实现网络请求的防抖与取消

在开发复杂的应用程序时,管理网络请求的生命周期至关重要。例如,用户在搜索框快速输入时可能会触发大量请求,或者在请求完成前离开页面,导致不必要的资源浪费。本文将介绍如何在 Riverpod 中利用 ref.onDispose 和&ldquo;

WeChat

扫码加我微信

微信二维码