|
|
@ -4,8 +4,6 @@ import 'package:win_text_editor/app/components/text_editor.dart'; |
|
|
|
import 'package:win_text_editor/app/modules/content_search/content_search_controller.dart'; |
|
|
|
import 'package:win_text_editor/app/modules/content_search/content_search_controller.dart'; |
|
|
|
|
|
|
|
|
|
|
|
class SearchSettings extends StatelessWidget { |
|
|
|
class SearchSettings extends StatelessWidget { |
|
|
|
final GlobalKey<TextEditorState> _searchEditorKey = GlobalKey(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SearchSettings({super.key}); |
|
|
|
SearchSettings({super.key}); |
|
|
|
|
|
|
|
|
|
|
|
@override |
|
|
|
@override |
|
|
@ -23,9 +21,12 @@ class SearchSettings extends StatelessWidget { |
|
|
|
width: MediaQuery.of(context).size.width * 0.5, |
|
|
|
width: MediaQuery.of(context).size.width * 0.5, |
|
|
|
height: 300, |
|
|
|
height: 300, |
|
|
|
child: TextEditor( |
|
|
|
child: TextEditor( |
|
|
|
key: _searchEditorKey, |
|
|
|
tabId: 'search_content_${controller.hashCode}', |
|
|
|
tabId: 'search_content', |
|
|
|
|
|
|
|
title: '搜索内容[列表以半角逗号分隔]', |
|
|
|
title: '搜索内容[列表以半角逗号分隔]', |
|
|
|
|
|
|
|
initialContent: controller.searchQuery, // 绑定到控制器的状态 |
|
|
|
|
|
|
|
onContentChanged: (content) { |
|
|
|
|
|
|
|
controller.searchQuery = content; // 实时同步内容到控制器 |
|
|
|
|
|
|
|
}, |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
const SizedBox(width: 8), |
|
|
|
const SizedBox(width: 8), |
|
|
@ -194,9 +195,6 @@ class SearchSettings extends StatelessWidget { |
|
|
|
icon: const Icon(Icons.search, size: 20), |
|
|
|
icon: const Icon(Icons.search, size: 20), |
|
|
|
label: const Text('开始搜索'), |
|
|
|
label: const Text('开始搜索'), |
|
|
|
onPressed: () { |
|
|
|
onPressed: () { |
|
|
|
// 点击搜索时获取当前内容 |
|
|
|
|
|
|
|
final content = _searchEditorKey.currentState?.getContent() ?? ''; |
|
|
|
|
|
|
|
controller.searchQuery = content; |
|
|
|
|
|
|
|
controller.startSearch(); |
|
|
|
controller.startSearch(); |
|
|
|
}, |
|
|
|
}, |
|
|
|
), |
|
|
|
), |
|
|
|