import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:win_text_editor/frame/widgets/tab_manager.dart'; // 修改后的base_view.dart abstract class BaseView extends StatefulWidget { final String tabId; const BaseView({super.key, required this.tabId}); @override BaseViewState createState(); } abstract class BaseViewState extends State { late final TabManager tabManager; @override void initState() { super.initState(); tabManager = Provider.of(context, listen: false); } @override void didChangeDependencies() { super.didChangeDependencies(); if (tabManager.activeTabId == widget.tabId) { tabManager.setActiveViewState(this); } } @override void dispose() { // 清理注册 tabManager.setActiveViewState(null); super.dispose(); } // 抽象方法改为在State中定义 void onOpenFolder(String folderPath); void onOpenFile(String filePath); }