From 6ec2f0a79e97d6988bd59df95e8ad19e04ad28d2 Mon Sep 17 00:00:00 2001 From: tanlongsheng <252620078@qq.com> Date: Thu, 20 Nov 2025 14:25:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=BE=E5=A4=87=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/widgets/row_equalizer_widget.dart | 16 +++++++++++----- .../views/widgets/select_equalizer_widget.dart | 10 ++++++---- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/lib/modules/eq_settings/views/widgets/row_equalizer_widget.dart b/lib/modules/eq_settings/views/widgets/row_equalizer_widget.dart index 93194c36c..cccd24734 100644 --- a/lib/modules/eq_settings/views/widgets/row_equalizer_widget.dart +++ b/lib/modules/eq_settings/views/widgets/row_equalizer_widget.dart @@ -28,6 +28,15 @@ class _RowEqualizerWidgetState extends State { )['label']; } + void _setLabel() { + setState(() { + _label = _templateData['options'].firstWhere( + (option) => listEquals(_templateData['value'], option['value']), + orElse: () => {'label': ''}, + )['label']; + }); + } + @override Widget build(BuildContext context) { final isDarkMode = Theme.of(context).brightness == Brightness.dark; @@ -35,12 +44,9 @@ class _RowEqualizerWidgetState extends State { return GestureDetector( onTap: () async { var result = await Get.to(() => SelectEqualizerWidget(_templateData)); + _setLabel(); if (result != null) { - setState(() { - _label = result['label']; - }); - _templateData['value'] = result['value']; - _templateData['onCallback'](result['value']); + _templateData['onCallback'](_templateData['value']); } }, behavior: HitTestBehavior.translucent, diff --git a/lib/modules/eq_settings/views/widgets/select_equalizer_widget.dart b/lib/modules/eq_settings/views/widgets/select_equalizer_widget.dart index 98fe0549e..3532b18ac 100644 --- a/lib/modules/eq_settings/views/widgets/select_equalizer_widget.dart +++ b/lib/modules/eq_settings/views/widgets/select_equalizer_widget.dart @@ -195,10 +195,8 @@ class _SelectEqualizerWidgetState extends State { Widget _item(bool isDarkMode, Map option, bool isSelected) { return GestureDetector( onTap: () { - Get.back(result: { - 'label': option['label'], - 'value': option['value'], - }); + _templateData['value'] = option['value']; + Get.back(result: true); }, child: Stack( children: [ @@ -242,6 +240,10 @@ class _SelectEqualizerWidgetState extends State { right: 4.w, child: GestureDetector( onTap: () { + if (isSelected) { + _templateData['value'] = []; + _templateData['onCallback']([]); + } setState(() { _templateData['options'].remove(option); });