当我在视图之间单击时,不会触发“ print("test prepare") ”行。有人能告诉我为什么吗?(我正在尝试按照 Greg Lim 的“Beginning iOS 16 SWIFT”(第 3 章:使用表格视图的报价应用程序))
非常感谢您的指点!:-)
我想将路径名称保存为变量,转到类并显示路径名称(作为应用栏标题)。当我尝试执行此操作时,我收到以下代码行的错误“命名参数‘path’未定义”:
builder: (_, state) => ItemDetails(path: state.path),
您能给我指出正确的方向吗?这是代码:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
runApp(MaterialApp.router(routerConfig: router));
}
final router = GoRouter(
routes: [
GoRoute(
path: '/',
builder: (_, __) => Scaffold(
appBar: AppBar(title: const Text('Home Screen')),
),
routes: [
GoRoute(
path: 'jobs/*',
builder: (_, state) => ItemDetails(path: state.path),
),
],
),
],
);
class ItemDetails extends StatelessWidget {
Map routeData = {};
@override
Widget build(BuildContext context) {
routeData = ModalRoute
.of(context)
?.settings
.arguments as Map;
final Query docRef = FirebaseFirestore.instance.collection("Collection_Name").where(
"path", isEqualTo: path);
return FutureBuilder<QuerySnapshot>(
future: docRef. get (),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return Scaffold(
appBar: AppBar(
title: Text(path),
),
body: Center(child: CircularProgressIndicator()),
);
} else if (snapshot.hasError) {
return Scaffold(
appBar: AppBar(
title: Text(path),
),
body: Center(child: Text("Error: ${snapshot.error}")),
);
} else {
var querySnapshot = snapshot.data!;
var docs = querySnapshot.docs;
final data = docs[0].data() as Map<String, dynamic>;
final yourScrollController = ScrollController();
return Scaffold(
appBar: AppBar(
title: Text(path),
),