Menu
CoddyTech

Paramètres nommés et obligatoires

Fait partie de la section Listes et écrans du Journey Flutter de Coddy. Leçon 13 sur 33.

Avec trois ou quatre champs, Book('Dune', 'Frank Herbert', 412) est difficile à lire, et il est facile d’inverser deux chaînes par erreur. Les paramètres nommés indiquent le nom du champ à chaque appel :

class Book {
  final String title;
  final int pages;

  Book({required this.title, required this.pages});
}

Book(title: 'Dune', pages: 412)

Les accolades dans le constructeur rendent les paramètres nommés. Vous écrivez chacun sous la forme name: value, dans n’importe quel ordre.

Les widgets que vous avez utilisés prennent également des paramètres nommés, comme Text(style: ...) ou ListTile(title: ...).

required signifie que le paramètre doit être fourni : omettez pages: et l’éditeur affiche une erreur avant l’exécution de l’application.

challenge icon

Défi

Moyen

Affichez le nombre de pages de chaque livre :

  • ajoutez un champ final int pages; à Book
  • modifiez le constructeur pour utiliser des paramètres nommés et obligatoires, puis écrivez les livres sous la forme Book(title: 'Dune', author: 'Frank Herbert', pages: 412). Emma a 474 pages et Ulysses 730
  • affichez 412 pages à la fin de chaque ligne, comme valeur de trailing: de la tuile

Essayez vous-même

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);
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Listes et écrans

Entraînez-vous par vous-même : Compilateur Flutter en ligne