Функции с параметрами
Часть раздела Добавляем интерактивность путешествия по Flutter на Coddy. Урок 7 из 34.
Функция может получать значение при каждом вызове. Это значение — параметр, который записывается в скобках вместе с типом:
void greet(String name) {
print('Hi, $name!');
}
greet('Ada'); // Привет, Ada!
greet('Linus'); // Привет, Linus!Внутри функции name — переменная, содержащая переданное значение. Теперь одна функция выполняет работу многих.
Кнопка не может передать значение сама по себе: для onPressed: нужна функция без параметров. Поэтому оберни вызов в небольшую функцию без имени — такую ты встречал в уроке «Твоя первая кнопка»:
ElevatedButton(
onPressed: () { greet('Ada'); },
child: Text('Ada'),
)Задание
ЛегкоЗамени orderTea одной функцией order, которая принимает String drink и выводит One Tea, please, One Coffee, please или One Juice, please. Используй её для всех трёх кнопок.
Попробуйте сами
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
void orderTea() {
print('One Tea, please');
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
ElevatedButton(onPressed: orderTea, child: Text('Tea')),
SizedBox(height: 12),
ElevatedButton(onPressed: () {}, child: Text('Coffee')),
SizedBox(height: 12),
ElevatedButton(onPressed: () {}, child: Text('Juice')),
],
),
),
),
);
}
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Добавляем интерактивность
1Кнопки
Ваша первая кнопкаВывод в консольТекстовые и контурные кнопкиКнопки с иконкамиПлавающая кнопка действия7Переключатели и ползунки
Включаем и выключаем переключателемОтмечаем флажокВыбираем значение ползункомПотренируйтесь самостоятельно: Онлайн-компилятор Flutter