From 413a49bcb1e720f235fd2ebd9aac685e200c6c7e Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Fri, 3 Jan 2025 13:34:46 +0800 Subject: [PATCH] fix: search suggest text color Signed-off-by: bggRGjQaUbCoE --- lib/models/search/suggest.dart | 10 +++++----- lib/pages/search/view.dart | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/models/search/suggest.dart b/lib/models/search/suggest.dart index ff161476..9c85883b 100644 --- a/lib/models/search/suggest.dart +++ b/lib/models/search/suggest.dart @@ -29,16 +29,16 @@ class SearchSuggestItem { String? value; String? term; int? spid; - Widget? textRich; + dynamic textRich; SearchSuggestItem.fromJson(Map json, String inputTerm) { value = json['value']; term = json['term']; - textRich = highlightText(json['name']); + textRich = json['name']; } } -Widget highlightText(String str) { +Widget highlightText(BuildContext context, String str) { // 创建正则表达式,匹配 ... 格式的文本 RegExp regex = RegExp(r'(.*?)<\/em>'); @@ -72,7 +72,7 @@ Widget highlightText(String str) { text: highlightedText, style: TextStyle( fontWeight: FontWeight.bold, - color: Theme.of(Get.context!).colorScheme.primary), + color: Theme.of(context).colorScheme.primary), )); // 更新当前索引位置 @@ -86,7 +86,7 @@ Widget highlightText(String str) { // 将剩余的普通文本部分添加到 children 列表中 children.add(TextSpan( text: remainingText, - style: DefaultTextStyle.of(Get.context!).style, + style: DefaultTextStyle.of(context).style, )); } diff --git a/lib/pages/search/view.dart b/lib/pages/search/view.dart index 8f8d4e15..9e4cb150 100644 --- a/lib/pages/search/view.dart +++ b/lib/pages/search/view.dart @@ -1,5 +1,6 @@ import 'package:PiliPalaX/common/widgets/loading_widget.dart'; import 'package:PiliPalaX/http/loading_state.dart'; +import 'package:PiliPalaX/models/search/suggest.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'controller.dart'; @@ -92,7 +93,7 @@ class _SearchPageState extends State with RouteAware { top: 9, bottom: 9, ), - child: item.textRich, + child: highlightText(context, item.textRich), ), ), )