#flutter
#flutter
Вопрос:
попытка передать идентификатор статической функции fetchByid
пожалуйста, я не могу получить доступ к конечному значению id, есть ли способ получить доступ к значению, это код пожалуйста, я не могу получить доступ к конечному значению id, есть ли способ получить доступ к значению, это код `
import 'package:flutter/material.dart';
import 'package:learning_system/models/restaurant.dart';
import '../../models/restaurant_page_header.dart';
class RestaurantScreen extends StatefulWidget {
final int id;
RestaurantScreen(this.id);
// Restaurant rest = Restaurant.fetchById(id);
@override
_RestaurantScreenState createState() => _RestaurantScreenState();
}
class _RestaurantScreenState extends State<RestaurantScreen> {
Restaurant rest = Restaurant.fetchById(widget.id);
@override
Widget build(BuildContext context) {
return Scaffold(
body: CustomScrollView(
slivers: <Widget>[
SliverPersistentHeader(
pinned: true,
delegate: RestaurantPageHeader(
maxExtent: 270.0, minExtent: 85.0, rest: rest),
),
SliverList(
delegate: SliverChildBuilderDelegate(
(context, index) => ListTile(
title: Text(rest.menu[index].foodName),
subtitle: Text(rest.menu[index].supliments),
trailing: Image.asset(rest.restImageUrl)
),
childCount: rest.menu.length
),
)
],
),
);
}
}
`
Комментарии:
1. Пожалуйста, не предоставляйте свой код в формате изображения. Можете ли вы предоставить это в текстовой версии?
Ответ №1:
Вы можете выполнить rest = Restaurant.fetchBy(widget.id);
в initState()
фрагмент кода
class RestaurantScreen extends StatefulWidget {
final int id;
RestaurantScreen(this.id);
@override
_RestaurantScreenState createState() => _RestaurantScreenState();
}
class _RestaurantScreenState extends State<RestaurantScreen> {
Restaurant rest;
@override
void initState() {
rest = Restaurant.fetchBy(widget.id);
super.initState();
}