Nazwane i wymagane parametry
Część sekcji Listy i ekrany ścieżki Flutter w Coddy. Lekcja 13 z 33.
Przy trzech lub czterech polach zapis Book('Dune', 'Frank Herbert', 412) jest trudny do odczytania, a przez pomyłkę łatwo zamienić miejscami dwa ciągi znaków. Parametry nazwane umieszczają nazwę pola przy każdym wywołaniu:
class Book {
final String title;
final int pages;
Book({required this.title, required this.pages});
}
Book(title: 'Dune', pages: 412)Nawiasy klamrowe w konstruktorze sprawiają, że parametry są nazwane. Zapisujesz każdy z nich jako name: value, w dowolnej kolejności.
Używane przez Ciebie widżety również przyjmują parametry nazwane, na przykład Text(style: ...) lub ListTile(title: ...).
required oznacza, że parametr musi zostać podany: jeśli pominiesz pages:, edytor wyświetli błąd, zanim aplikacja zostanie uruchomiona.
Wyzwanie
ŚredniPokaż, ile stron ma każda książka:
- dodaj pole
final int pages;doBook - zmień konstruktor tak, aby używał nazwanych, wymaganych parametrów, i zapisz książki jako
Book(title: 'Dune', author: 'Frank Herbert', pages: 412). Emma ma474stron, a Ulysses730 - wyświetl
412 pagesna końcu każdego wiersza, jakotrailing:kafelka
Spróbuj swoich sił
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
final List<Book> books = [
Book('Dune', 'Frank Herbert'),
Book('Emma', 'Jane Austen'),
Book('Ulysses', 'James Joyce'),
];
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(title: const Text('Books')),
body: ListView(
children: [
for (Book book in books)
ListTile(
title: Text(book.title),
subtitle: Text(book.author),
),
],
),
),
);
}
}
class Book {
final String title;
final String author;
Book(this.title, this.author);
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Listy i ekrany
1Przewijane listy
Lista z przewijaniemElementy listyPoczątek i koniecDotknij elementu listySeparatory między wierszami4Własne klasy
Klasa dla Twoich danychNazwane i wymagane parametryPola, które mogą być pusteWidżety z danych za pomocą mapFiltrowanie listy za pomocą whereWyszukiwanie w mapie5Więcej niż jeden ekran
Otwórz nowy ekranStrzałka wsteczWróć za pomocą przyciskuPrześlij dane do ekranuOdbierz wynik6Karty, szuflady i gesty przesunięcia
Karty z paskiem nawigacyjnymWypełnione ikony dla otwartej kartyBoczna szufladaPrzesuń, aby usunąćCofnij przesunięciePoćwicz samodzielnie: Kompilator Flutter online