Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗flPmStSv 66 of 125 menu
◀ ▶

Несколько полей состояния в Flutter

На одном экране часто несколько значений: два счётчика, лимит и остаток, день и месяц. Все они могут жить в одном классе State. Один setState может обновить сразу несколько полей, если это одна операция. Каждая кнопка в setState меняет только своё поле - второе не трогают:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: HomePage())); } class HomePage extends StatefulWidget { const HomePage({super.key}); @override State<HomePage> createState() => _HomePageState(); } class _HomePageState extends State<HomePage> { int apples = 0; int oranges = 0; @override Widget build(BuildContext context) { return Scaffold( body: Padding( padding: const EdgeInsets.all(24), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text('Apples: $apples'), ElevatedButton( onPressed: () { setState(() { apples++; }); }, child: const Text('+ apple'), ), const SizedBox(height: 24), Text('Oranges: $oranges'), ElevatedButton( onPressed: () { setState(() { oranges++; }); }, child: const Text('+ orange'), ), ], ), ), ); } }

Добавьте третье поле pears и кнопку «+ pear». Все три счётчика должны отображаться на экране и увеличиваться независимо.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить