在测试AutomaticKeepAliveClientMixin并遇到问题,在navigator.push后页面丢失状态。有人知道此问题吗?任何解决方法?为任何信息而高兴,欢呼
我的目标是保持页面状态
重现步骤:打开应用程序,单击PageOne的按钮,然后向左和向右滑动,页面将丢失状态 图像
import 'package:flutter/material.dart';
void main() => runApp(MaterialApp(home: MyApp()));
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: DefaultTabController(
initialIndex: 0,
length: 2,
child: Scaffold(
body: TabBarView(
children: <Widget>[Page1(), Page2()],
),
bottomNavigationBar: Material(
child: TabBar(
labelColor: Colors.black,
tabs: <Widget>[
Tab(
icon: Icon(Icons.check),
),
Tab(
icon: Icon(Icons.check),
),
],
),
),
),
),
);
}
}
class Page1 extends StatefulWidget {
@override
Page1State createState() {
return new Page1State();
}
}
class Page1State extends State<Page1> with …
Run Code Online (Sandbox Code Playgroud) 我试图让菜单保持打开状态,以便我可以一次选择多个类别,而无需在每次选择后快速返回页面。
如果它可以像 Excel 过滤数据(或 Libreoffice Autofilter)那样运行就完美了
添加了截图
任何想法,将不胜感激!
代码:
import 'package:flutter/material.dart';
void main() { return runApp(MaterialApp(
home: MenuDemo(), )); }
class MenuDemo extends StatefulWidget { const MenuDemo({Key key}) : super(key: key);
static const String routeName = '/material/menu';
@override MenuDemoState createState() => new MenuDemoState(); }
class MenuDemoState extends State<MenuDemo> { final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();
final String _checkedValue1 = 'One'; final String _checkedValue2 = 'Two'; final String _checkedValue3 = 'Free'; final String
_checkedValue4 = 'Four'; List<String> _checkedValues;
@override …
Run Code Online (Sandbox Code Playgroud) 如何使用内置函数对DataTable
. 是否可以对多列进行操作,以便当我按下排序图标时,它实际上对列表进行了排序?
感谢您的任何支持:)
class HomePageState extends State<HomePage> {
@override
Widget build(BuildContext context) {
var myColumns = [
new DataColumn(label: new Text('name')),
new DataColumn(label: new Text('age')),
new DataColumn(label: new Text('Hight')),
];
var myRows = [
new DataRow(cells: [
new DataCell(new Text('George')),
new DataCell(new Text('18')),
new DataCell(new Text('173cm')),
]),
new DataRow(cells: [
new DataCell(new Text('Dave')),
new DataCell(new Text('21')),
new DataCell(new Text('183cm')),
]),
new DataRow(cells: [
new DataCell(new Text('Sam')),
new DataCell(new Text('55')),
new DataCell(new Text('170cm')),
])
];
return new Scaffold(
body: …
Run Code Online (Sandbox Code Playgroud)