Open Liu-code3 opened 5 months ago
SwitchAndCheckBoxTestRoute
mart.dart
MateriaApp
import 'package:flutter/material.dart';
class SwitchAndCheckBoxTestRoute extends StatefulWidget { const SwitchAndCheckBoxTestRoute({super.key});
@override State createState() => _SwitchAndCheckBoxTestRouteState(); }
class _SwitchAndCheckBoxTestRouteState extends State { bool _switchSelected = true; // 维护单选开关状态 bool _checkboxSelected = true; // 维护复选框状态 @override Widget build(BuildContext context) { return Scaffold( // 要引入 Material 小部件,您可以直接包含一个小部件,或者使用包含 Material 本身的小部件,例如 Card ,Dialog , Drawer 或 Scaffold 。 body: Column( children: [ Switch( value: _switchSelected, onChanged: (value) { setState(() { _switchSelected = value; }); }), Checkbox( value: _checkboxSelected, onChanged: (value) { setState(() { _checkboxSelected = value!; }); }) ], ), ); } }
书中代码示例歧义的地方
问题描述
SwitchAndCheckBoxTestRoute
放在mart.dart
中的MateriaApp
中的home属性的话,会报错。报错信息为: No Material widget foundclass SwitchAndCheckBoxTestRoute extends StatefulWidget { const SwitchAndCheckBoxTestRoute({super.key});
@override State createState() =>
_SwitchAndCheckBoxTestRouteState();
}
class _SwitchAndCheckBoxTestRouteState extends State {
bool _switchSelected = true; // 维护单选开关状态
bool _checkboxSelected = true; // 维护复选框状态
@override
Widget build(BuildContext context) {
return Scaffold( // 要引入 Material 小部件,您可以直接包含一个小部件,或者使用包含 Material 本身的小部件,例如 Card ,Dialog , Drawer 或 Scaffold 。
body: Column(
children: [
Switch(
value: _switchSelected,
onChanged: (value) {
setState(() {
_switchSelected = value;
});
}),
Checkbox(
value: _checkboxSelected,
onChanged: (value) {
setState(() {
_checkboxSelected = value!;
});
})
],
),
);
}
}