المعاملات المُسمّاة والإلزامية
جزء من قسم القوائم والشاشات في رحلة Flutter على Coddy. الدرس 13 من 33.
مع وجود ثلاث أو أربع حقول، يصعب قراءة Book('Dune', 'Frank Herbert', 412)، ومن السهل تبديل سلسلتين نصيتين عن طريق الخطأ. تضع المعاملات المسماة اسم الحقل في كل استدعاء:
class Book {
final String title;
final int pages;
Book({required this.title, required this.pages});
}
Book(title: 'Dune', pages: 412)تجعل الأقواس المعقوفة في المُنشئ المعاملات مسماة. تكتب كلًّا منها بالشكل name: value، بأي ترتيب.
تستخدم الأدوات المصغّرة التي استخدمتها معاملات مسماة أيضًا، مثل Text(style: ...) أو ListTile(title: ...).
تعني required أنه يجب توفير المعامل: إذا حذفت pages:، فسيعرض المحرر خطأً قبل تشغيل التطبيق.
التحدي
متوسطاعرض عدد صفحات كل كتاب:
- أضف الحقل
final int pages;إلىBook - غيّر المُنشئ ليستخدم معلمات مسماة ومطلوبة، واكتب الكتب بالشكل
Book(title: 'Dune', author: 'Frank Herbert', pages: 412). لدى Emma474صفحة، ولدى Ulysses730 - اعرض
412 pagesفي نهاية كل صف، بوصفه قيمةtrailing:الخاصة بالبلاطة
جرّب بنفسك
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);
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس القوائم والشاشات
1قوائم قابلة للتمرير
قائمة قابلة للتمريرعناصر القائمةالبداية والنهايةاضغط على عنصر قائمةفواصل بين الصفوف4أصنافك الخاصة
صنف لبياناتكالمعاملات المُسمّاة والإلزاميةحقول يمكن أن تكون فارغةعناصر واجهة من البيانات باستخدام mapتصفية قائمة باستخدام whereالبحث في Map6علامات التبويب والأدراج والتمرير بالسحب
علامات التبويب مع شريط تنقلأيقونات ممتلئة لعلامة التبويب المفتوحةدرج جانبياسحب للحذفالتراجع عن السحبتدرّب بنفسك: مترجم Flutter عبر الإنترنت