fix: 首页搜索框频繁点击消失、评论排序切换空白

This commit is contained in:
guozhigq
2023-08-24 09:54:24 +08:00
parent 9da113726b
commit 4314b0fc3c
2 changed files with 23 additions and 23 deletions

View File

@ -45,11 +45,7 @@ class _SearchPageState extends State<SearchPage> with RouteAware {
return OpenContainer( return OpenContainer(
closedElevation: 0, closedElevation: 0,
openElevation: 0, openElevation: 0,
onClosed: (_) async { onClosed: (_) => _searchController.onClear(),
// 在 openBuilder 关闭时触发的回调函数
await Future.delayed(const Duration(milliseconds: 500));
_searchController.onClear();
},
openColor: Theme.of(context).colorScheme.background, openColor: Theme.of(context).colorScheme.background,
middleColor: Theme.of(context).colorScheme.background, middleColor: Theme.of(context).colorScheme.background,
closedColor: Theme.of(context).colorScheme.background, closedColor: Theme.of(context).colorScheme.background,

View File

@ -1,3 +1,4 @@
import 'package:easy_debounce/easy_throttle.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:pilipala/http/reply.dart'; import 'package:pilipala/http/reply.dart';
@ -92,23 +93,26 @@ class VideoReplyController extends GetxController {
// 排序搜索评论 // 排序搜索评论
queryBySort() { queryBySort() {
feedBack(); EasyThrottle.throttle('queryBySort', const Duration(seconds: 1), () {
switch (sortType) { feedBack();
case ReplySortType.time: switch (sortType) {
sortType = ReplySortType.like; case ReplySortType.time:
break; sortType = ReplySortType.like;
case ReplySortType.like: break;
sortType = ReplySortType.reply; case ReplySortType.like:
break; sortType = ReplySortType.reply;
case ReplySortType.reply: break;
sortType = ReplySortType.time; case ReplySortType.reply:
break; sortType = ReplySortType.time;
default: break;
} default:
sortTypeTitle.value = sortType.titles; }
sortTypeLabel.value = sortType.labels; sortTypeTitle.value = sortType.titles;
currentPage = 0; sortTypeLabel.value = sortType.labels;
replyList.clear(); currentPage = 0;
queryReplyList(type: 'init'); noMore.value = '';
replyList.clear();
queryReplyList(type: 'init');
});
} }
} }