fix: 搜索条件筛选面板无法滚动

This commit is contained in:
guozhigq
2024-09-08 15:53:56 +08:00
parent 8fa2129610
commit 6a75f4ca2f

View File

@ -261,90 +261,97 @@ class VideoPanelController extends GetxController {
onShowFilterSheet(searchPanelCtr) { onShowFilterSheet(searchPanelCtr) {
showModalBottomSheet( showModalBottomSheet(
context: Get.context!, context: Get.context!,
isScrollControlled: true,
builder: (context) { builder: (context) {
return StatefulBuilder( return StatefulBuilder(
builder: (context, StateSetter setState) { builder: (context, StateSetter setState) {
return Container( return Padding(
color: Theme.of(Get.context!).colorScheme.surface, padding: EdgeInsets.only(
padding: const EdgeInsets.only(top: 12), top: 12, bottom: MediaQuery.of(context).padding.bottom + 20),
child: Column( child: Wrap(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
const ListTile( Column(
title: Text('内容时长'), crossAxisAlignment: CrossAxisAlignment.start,
), children: [
Padding( const ListTile(
padding: const EdgeInsets.only( title: Text('内容时长'),
left: 14, ),
right: 14, Padding(
bottom: 14, padding: const EdgeInsets.only(
), left: 14,
child: Wrap( right: 14,
spacing: 10, bottom: 14,
runSpacing: 10, ),
direction: Axis.horizontal, child: Wrap(
textDirection: TextDirection.ltr, spacing: 10,
children: [ runSpacing: 10,
for (var i in timeFiltersList) direction: Axis.horizontal,
Obx( textDirection: TextDirection.ltr,
() => SearchText( children: [
searchText: i['label'], for (var i in timeFiltersList)
searchTextIdx: i['value'], Obx(
isSelect: () => SearchText(
currentTimeFilterval.value == i['value'], searchText: i['label'],
onSelect: (value) async { searchTextIdx: i['value'],
currentTimeFilterval.value = i['value']; isSelect:
setState(() {}); currentTimeFilterval.value == i['value'],
SmartDialog.showToast("${i['label']}」的筛选结果"); onSelect: (value) async {
SearchPanelController ctr = currentTimeFilterval.value = i['value'];
Get.find<SearchPanelController>( setState(() {});
SmartDialog.showToast(
"${i['label']}」的筛选结果");
SearchPanelController ctr = Get.find<
SearchPanelController>(
tag: 'video${searchPanelCtr.keyword!}'); tag: 'video${searchPanelCtr.keyword!}');
ctr.duration.value = i['value']; ctr.duration.value = i['value'];
Get.back(); Get.back();
SmartDialog.showLoading(msg: '获取中'); SmartDialog.showLoading(msg: '获取中');
await ctr.onRefresh(); await ctr.onRefresh();
SmartDialog.dismiss(); SmartDialog.dismiss();
}, },
onLongSelect: (value) => {}, onLongSelect: (value) => {},
), ),
) )
], ],
), ),
), ),
const ListTile( const ListTile(
title: Text('内容分区'), title: Text('内容分区'),
), ),
Padding( Padding(
padding: const EdgeInsets.only(left: 14, right: 14), padding: const EdgeInsets.only(left: 14, right: 14),
child: Wrap( child: Wrap(
spacing: 10, spacing: 10,
runSpacing: 10, runSpacing: 10,
direction: Axis.horizontal, direction: Axis.horizontal,
textDirection: TextDirection.ltr, textDirection: TextDirection.ltr,
children: [ children: [
for (var i in partFiltersList) for (var i in partFiltersList)
SearchText( SearchText(
searchText: i['label'], searchText: i['label'],
searchTextIdx: i['value'], searchTextIdx: i['value'],
isSelect: currentPartFilterval.value == i['value'], isSelect:
onSelect: (value) async { currentPartFilterval.value == i['value'],
currentPartFilterval.value = i['value']; onSelect: (value) async {
setState(() {}); currentPartFilterval.value = i['value'];
SmartDialog.showToast("${i['label']}」的筛选结果"); setState(() {});
SearchPanelController ctr = SmartDialog.showToast("${i['label']}」的筛选结果");
Get.find<SearchPanelController>( SearchPanelController ctr = Get.find<
SearchPanelController>(
tag: 'video${searchPanelCtr.keyword!}'); tag: 'video${searchPanelCtr.keyword!}');
ctr.tids.value = i['value']; ctr.tids.value = i['value'];
Get.back(); Get.back();
SmartDialog.showLoading(msg: '获取中'); SmartDialog.showLoading(msg: '获取中');
await ctr.onRefresh(); await ctr.onRefresh();
SmartDialog.dismiss(); SmartDialog.dismiss();
}, },
onLongSelect: (value) => {}, onLongSelect: (value) => {},
) )
], ],
), ),
) )
],
),
], ],
), ),
); );