zoukankan      html  css  js  c++  java
  • Flutter移动电商实战 --(36)FlutterToast插件使用

    https://github.com/PonnamKarthik/FlutterToast

    fluttertoast: ^3.0.1
    

    category_page.dart页面添加引用

    import 'package:fluttertoast/fluttertoast.dart';
    

    小类跳转到全部,没有数据的问题

    本节课代码

    provide/child_category.dart

    import 'package:flutter/material.dart';
    import '../model/category.dart';
    
    class ChildCategory with ChangeNotifier{
     List<BxMallSubDto> childCategoryList=[];
     int childIndex=0;//子类高亮索引
     String categoryId='4';//大类ID 白酒的id 默认为4
     String subId='';//小类ID
     int page=1;
     String noMoreText='';//显示没有数据的文字
      //大类切换逻辑
      getChildCategory(List<BxMallSubDto> list,String id){
        page=1;
        noMoreText='';
        childIndex=0;//每次点击大类,小类的索引都要清空掉
        categoryId=id;
        BxMallSubDto all=BxMallSubDto();
        all.mallSubId="";
        all.mallCategoryId="00";
        all.comments="null";
        all.mallSubName='全部';
        childCategoryList=[all];
        //childCategoryList=list;
        childCategoryList.addAll(list);
        notifyListeners();//监听
      }
      //改变子类索引,indexs是从哪里来的呢?从我们具体的类中进行传递
      changeChildIndex(index,String id){
        page=1;
        noMoreText='';
        childIndex=index;//把传递过来的index赋值给我们的childIndex
        subId=id;
        notifyListeners();//通知
      }
      //增加Page的方法
      addPage(){
        page++;
        //notifyListeners();//这里不需要通知,因为我们只是page+1了并没有页面数据上的变化
      }
      //改变noMore的方法
      changeNoMore(String text){
        noMoreText=text;
        notifyListeners();//通知
      }
    }
    

    category_page.dart主要代码

    void _getMoreList() {
         Provide.value<ChildCategory>(context).addPage();
          var data={
            'categoryId':Provide.value<ChildCategory>(context).categoryId,//大类ID
            'categorySubId':Provide.value<ChildCategory>(context).subId,
            'page':Provide.value<ChildCategory>(context).page
          };
          request('getMallGoods',formData: data).then((val){
            var data=json.decode(val.toString());
            CategoryGoodsListModel goodsList=CategoryGoodsListModel.fromJson(data);//这样就从json'转换成了model类
            if(goodsList.data==null){
              Fluttertoast.showToast(
                msg:'已经到底了',
                toastLength: Toast.LENGTH_SHORT,//适应短的提示
                gravity: ToastGravity.CENTER,//中间提示
                backgroundColor: Colors.pink,
                textColor: Colors.white,
                fontSize: 16.0
              );
              Provide.value<ChildCategory>(context).changeNoMore('没有更多了');
            }else{
              Provide.value<CategoryGoodsListProvide>(context).getMoreList(goodsList.data);
            }
            
          });
        }

    .

  • 相关阅读:
    JQuery 简单实现折叠菜单
    机械迷城攻略2
    ffmpeg视频转换及截图
    机械迷城攻略3
    SQL:清空数据库所有数据
    .net发送邮件outlook中文乱码
    我读我的Book
    转:精妙SQL语句收集
    SQL server 动态查询(表名或字段动态),并且获取想得到的返回值结果
    软件开发中,这些文档你用到了吗
  • 原文地址:https://www.cnblogs.com/crazycode2/p/11462239.html
Copyright © 2011-2022 走看看