Parâmetros Nomeados e Obrigatórios
Parte da seção Listas e telas do Journey de Flutter da Coddy. Lição 13 de 33.
Com três ou quatro campos, Book('Dune', 'Frank Herbert', 412) é difícil de ler, e é fácil trocar duas strings por engano. Os parâmetros nomeados colocam o nome do campo em cada chamada:
class Book {
final String title;
final int pages;
Book({required this.title, required this.pages});
}
Book(title: 'Dune', pages: 412)As chaves no construtor tornam os parâmetros nomeados. Você escreve cada um como name: value, em qualquer ordem.
Os widgets que você usou também recebem parâmetros nomeados, como Text(style: ...) ou ListTile(title: ...).
required significa que o parâmetro deve ser informado: omita pages: e o editor exibirá um erro antes de o app ser executado.
Desafio
MédioMostre quantas páginas tem cada livro:
- adicione um campo
final int pages;aBook - altere o construtor para usar parâmetros nomeados e obrigatórios, e escreva os livros como
Book(title: 'Dune', author: 'Frank Herbert', pages: 412). Emma tem474páginas e Ulysses730 - mostre
412 pagesno final de cada linha, comotrailing:do bloco
Experimente você mesmo
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);
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Listas e telas
1Listas roláveis
Uma lista que rolaItens da listaInício e fimToque em um item da listaDivisórias entre linhas4Suas Próprias Classes
Uma Classe para Seus DadosParâmetros Nomeados e ObrigatóriosCampos que Podem Ficar VaziosWidgets a Partir de Dados com mapFiltre uma Lista com whereBusque em um MapPratique por conta própria: Compilador de Flutter online