提交 dde3d5c8 authored 作者: 张国庆's avatar 张国庆

增加列表网络失败,缺省图
上级 4bb6e0eb
......@@ -17,6 +17,7 @@ class MyListViewPublic extends StatefulWidget {
this.firstRefresh = true,
this.emptyText,
this.emptyImg,
this.errorImg,
}) : super(key: key);
final bool canLoadMore; //是否允许上拉
......@@ -28,6 +29,9 @@ class MyListViewPublic extends StatefulWidget {
// 数据为空时,缺省图
final String? emptyImg;
//加载错误时,缺省图
final String? errorImg;
// (page, pageSize,_requestSuccess,_requestError){}
final RequestDataCallback requestData;
......
......@@ -47,6 +47,7 @@ class MySubListViewPublic extends StatelessWidget {
firstRefresh: firstRefresh,
emptyText: emptyText,
emptyImg: 'default_drawing_1',
errorImg: 'default_drawing_5',
);
}
}
\ No newline at end of file
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_clx_base/widget/image_widget.dart';
class StateLayout extends StatefulWidget {
......@@ -7,12 +6,15 @@ class StateLayout extends StatefulWidget {
final StateType type;
final String? emptyImg;
final String? hintText;
//加载错误,图片
final String? errorImg;
const StateLayout({
Key? key,
required this.type,
this.emptyImg,
this.hintText,
this.errorImg,
}) : super(key: key);
@override
......@@ -42,16 +44,13 @@ class _StateLayoutState extends State<StateLayout> {
Widget _otherWidget() {
switch (widget.type) {
case StateType.network:
// return _buildNormalView('icon_no_wifi', '无网络连接');
return _buildNormalView(widget.emptyImg ?? '', '无网络连接');
return _buildNormalView(widget.errorImg ?? '', '无网络连接');
case StateType.loading:
return Container();
case StateType.empty:
// return _buildNormalView('default_drawing_1', widget.hintText ?? '暂无数据');
return _buildNormalView(widget.emptyImg ?? '', widget.hintText ?? '暂无数据');
case StateType.error:
// return _buildNormalView('icon_list_failure', '请求失败,请重试');
return _buildNormalView(widget.emptyImg ?? '', '请求失败,请重试');
return _buildNormalView(widget.errorImg ?? '', '加载失败,请重试');
case StateType.success:
return Container();
}
......@@ -63,15 +62,11 @@ class _StateLayoutState extends State<StateLayout> {
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const SizedBox(height: 30.0),
Offstage(
offstage: _getShowImg(img),
child: ImageWidget.loadAssetImage(
ImageWidget.loadAssetImage(
img,
width: 133.5*2,
height: 95*2,
),
),
Text(
hintText,
style: const TextStyle(
......@@ -86,12 +81,6 @@ class _StateLayoutState extends State<StateLayout> {
);
}
bool _getShowImg(String img) {
if (img.isNotEmpty && widget.type == StateType.empty) {
return false;
}
return true;
}
}
enum StateType {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论