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

Класс CheckedPopupMenuItem

Класс CheckedPopupMenuItem наследует PopupMenuItem и рисует галочку. Состояние - checked, подпись - child, value - как у PopupMenuItem. Используют для переключателей в меню.

Синтаксис

CheckedPopupMenuItem( value: true, checked: true, child: Text('abcde'), )

Параметры

Параметр Описание
checked Показать галочку слева.
child Текст пункта.
value Значение при выборе.

Пример

Давайте покажем отмеченный пункт:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: PopupMenuButton( itemBuilder: (context) => [ CheckedPopupMenuItem( value: 1, checked: true, child: Text('abcde'), ), CheckedPopupMenuItem( value: 2, checked: false, child: Text('12345'), ), ], ), ), ), ), ); }

У первого пункта видна галочка.

Пример

Давайте переключим checked из onSelected:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: CheckMenu())); } class CheckMenu extends StatefulWidget { const CheckMenu({super.key}); @override State<CheckMenu> createState() => _CheckMenuState(); } class _CheckMenuState extends State<CheckMenu> { bool on = true; @override Widget build(BuildContext context) { return Scaffold( body: Center( child: PopupMenuButton( onSelected: (_) => setState(() => on = !on), itemBuilder: (context) => [ CheckedPopupMenuItem( value: 1, checked: on, child: Text('abcde'), ), ], child: Text('12345'), ), ), ); } }

Повторный выбор пункта сменит галочку.

Смотрите также

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