flutter 我怎么能只打印最后几个列表在模拟器中的列表视图小部件?我有下面的列表为休息API

jjhzyzn0  于 2023-02-20  发布在  Flutter
关注(0)|答案(1)|浏览(93)

我想在列表视图中显示最后5个列表,我可以为第一个5个列表这样做,但不能为最后5个。我怎样才能在我的模拟器中获得最后5个列表。
x一个月一次x一个月一次x一个月二次x一个月三次
x1米4英寸x1米5英寸
x1名6名1名x1名7名1名x1名8名1名
x一个米九个一x一个米十个一x一个米十一个一x一个米十二个一x
x一个米13个一个x一个米14个一个x一个米15个一个x一个米16个一个x一个米17个一个x一个米18个一个
x一个米19纳米1 x一个米20纳米1 x一个米21纳米1 x一个米22纳米1 x一个米23纳米1 x一个米24纳米1 x一个米25纳米1 x一个米26纳米1 x
x一名男子27名一个x一名男子28名一个x一名男子29名一个x一名男子30名一个x一名男子31名一个x一名男子32名一个x一名男子33名一个x一名男子35名一个x一名男子36名一个x一名男子37名一个x一名男子38名一个x一名男子39名一个x一名男子40名一个x一名男子41名一个x一名男子42名一个x一名男子43名一个x一名男子44名一个x一名男子45名一个x一名男子46名一个x一名男子47名一个x一名男子48名一个x一个米49纳米1 x一个米50纳米1 x一个米51纳米1 x一个米52纳米1 x一个米53纳米1 x一个米54纳米1 x一个米55纳米1 x一个米56纳米1 x一个米57纳米1 x一个米58纳米1 x一个米59纳米1 x一个米60纳米1 x一个米61纳米1 x一个米62纳米1 x一个米63纳米1 x一个米64纳米1 x一个米65纳米1 x一个米66纳米1 x一个米67纳米1 x一个米68纳米1 x一个米69纳米1 x一个米70纳米1 xx1个米71个一个米72个一个x一个米73个一个x一个米74个一个x一个米75个一个x一个米76个一个x一个米77个一个x一个米78个一个x一个米79个一个x一个米80个一个x一个米81个一个x一个米82个一个x一个米82个
我只是想知道我怎么才能让小部件打印最后5个名单从n个名单。

w9apscun

w9apscun1#

我只是回答我从你的问题中理解的代码块看起来很乱。我假设你只想呈现你从API获得的List的最后5项,我也假设你只需要呈现最后5项,忽略其他项。
记住上面的条件,让我们只将获取列表的最后5项保存到post变量中。
为此,请将getPosts()函数更改为:

Future getPosts() async{

    List<Post>? fetchedPosts = await RemoteService().getPosts();
    if(fetchedPosts != null){
      posts = fetchedPosts.where((e) => (fetchedPosts.length - fetchedPosts.indexOf(e)) <= 5 ).toList();
       setState((){
         isLoaded = true;
         });
       }
   }

如果list的长度大于5,这将设置post中list的最后5个项目,如果长度小于5,则将添加post列表中的所有项目。
在您的函数中实现这一点,就可以开始了。

相关问题