diff --git a/lib/pages/search/view.dart b/lib/pages/search/view.dart index fdd18352..04af9ed4 100644 --- a/lib/pages/search/view.dart +++ b/lib/pages/search/view.dart @@ -45,11 +45,7 @@ class _SearchPageState extends State with RouteAware { return OpenContainer( closedElevation: 0, openElevation: 0, - onClosed: (_) async { - // 在 openBuilder 关闭时触发的回调函数 - await Future.delayed(const Duration(milliseconds: 500)); - _searchController.onClear(); - }, + onClosed: (_) => _searchController.onClear(), openColor: Theme.of(context).colorScheme.background, middleColor: Theme.of(context).colorScheme.background, closedColor: Theme.of(context).colorScheme.background, diff --git a/lib/pages/video/detail/reply/controller.dart b/lib/pages/video/detail/reply/controller.dart index a81674af..f855c1e3 100644 --- a/lib/pages/video/detail/reply/controller.dart +++ b/lib/pages/video/detail/reply/controller.dart @@ -1,3 +1,4 @@ +import 'package:easy_debounce/easy_throttle.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:pilipala/http/reply.dart'; @@ -92,23 +93,26 @@ class VideoReplyController extends GetxController { // 排序搜索评论 queryBySort() { - feedBack(); - switch (sortType) { - case ReplySortType.time: - sortType = ReplySortType.like; - break; - case ReplySortType.like: - sortType = ReplySortType.reply; - break; - case ReplySortType.reply: - sortType = ReplySortType.time; - break; - default: - } - sortTypeTitle.value = sortType.titles; - sortTypeLabel.value = sortType.labels; - currentPage = 0; - replyList.clear(); - queryReplyList(type: 'init'); + EasyThrottle.throttle('queryBySort', const Duration(seconds: 1), () { + feedBack(); + switch (sortType) { + case ReplySortType.time: + sortType = ReplySortType.like; + break; + case ReplySortType.like: + sortType = ReplySortType.reply; + break; + case ReplySortType.reply: + sortType = ReplySortType.time; + break; + default: + } + sortTypeTitle.value = sortType.titles; + sortTypeLabel.value = sortType.labels; + currentPage = 0; + noMore.value = ''; + replyList.clear(); + queryReplyList(type: 'init'); + }); } }