Benannte und erforderliche Parameter
Teil des Abschnitts Listen und Bildschirme der Flutter-Journey von Coddy. Lektion 13 von 33.
Bei drei oder vier Feldern ist Book('Dune', 'Frank Herbert', 412) schwer zu lesen, und es ist leicht, versehentlich zwei Zeichenketten zu vertauschen. Benannte Parameter geben bei jedem Aufruf den Namen des Feldes an:
class Book {
final String title;
final int pages;
Book({required this.title, required this.pages});
}
Book(title: 'Dune', pages: 412)Die geschweiften Klammern im Konstruktor machen die Parameter zu benannten Parametern. Du schreibst jeden einzelnen als name: value, in beliebiger Reihenfolge.
Auch die Widgets, die du verwendet hast, nehmen benannte Parameter entgegen, zum Beispiel Text(style: ...) oder ListTile(title: ...).
required bedeutet, dass der Parameter angegeben werden muss: Lässt du pages: weg, zeigt der Editor einen Fehler an, bevor die App ausgeführt wird.
Aufgabe
MittelZeige, wie umfangreich jedes Buch ist:
- Füge ein Feld
final int pages;zuBookhinzu - Ändere den Konstruktor so, dass er benannte, erforderliche Parameter verwendet, und schreibe die Bücher als
Book(title: 'Dune', author: 'Frank Herbert', pages: 412). Emma hat474Seiten und Ulysses730 - Zeige
412 pagesam Ende jeder Zeile alstrailing:der Kachel an
Probier es selbst
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);
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Listen und Bildschirme
1Scrollbare Listen
Eine scrollbare ListeListenelementeVorne und hintenEin Listenelement antippenTrennlinien zwischen Zeilen4Deine eigenen Klassen
Eine Klasse für deine DatenBenannte und erforderliche ParameterFelder, die leer sein könnenWidgets aus Daten mit mapEine Liste mit where filternIn einer Map nachschlagenÜbe selbstständig: Online-Flutter-Compiler