《Flutter 控件大全》第一零一:ValueListenableBuilder

  • 如果你對Flutter還有疑問或者技術方面的疑惑,歡迎加入Flutter交流羣(微信:laomengit)。
  • 同時也歡迎關注我的Flutter公衆號【老孟程序員】,公衆號首發Flutter的相關內容。
  • Flutter地址:http://laomengit.com 裏面包含160多個組件的詳細用法。

在開發應用程序的時候有些數據是全局的,貫穿整個應用程序,比如用戶信息,我們希望當這些數據發生變化時,應用程序任何頁面的數據都更新,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種寫法,第一種是錯誤的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章