OS 配合属性实现监听过程让页面能够局部刷新
var _loadState = LoadState.loading.os;//简单化构建
// a.os 将 a 包装成 ObServer 类型对象 拥有可以监听的特性
// 演示示例
OS(os:_loadState,osv:(){
//your code ....
return LoadStateLayout(
success(_)=>Text('加载成功'),
fail:(_)=>LoadError(_failState),
loading:(_)=>LoadingWidget(),
state:_loadState.self);
});
/** 说明
这样只要改变 _loadState.value = LoadState.success; 即可监听到进行刷新
也可以使用 _loadState.refresh();
*/
_loadState.value = LoadState.success; // 加载成功
_loadState.value = LoadState.fail; //加载失败
_loadState.value = LoadState.loading; //加载中
// 这样修改起来更加省事
//即使在 stateless 组件中也能够局部刷新.
/***不用写
setState((){
_loadState = LoadState.success;
});
***/
LoadingWidget 加载中... 组件
LoadError(_failState) ... 加载失败组件
success(_)=>Text('加载成功'), // 加载成功后的显示