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

Удаление элемента списка в Flutter

После добавления пунктов нужен способ убрать лишнее. В itemBuilder известен index строки - по нему вызывают items.removeAt(index) внутри setState. Список в State сразу короче на один элемент.

Кнопку удаления часто ставят в ListTile как IconButton в trailing. Обработчик замыкает index из builder - так Flutter знает, какую строку убрать:

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> { final items = <String>['Tea', 'Coffee', 'Juice']; void removeAt(int index) { setState(() { items.removeAt(index); // next row takes this index }); } @override Widget build(BuildContext context) { return Scaffold( body: ListView.builder( itemCount: items.length, itemBuilder: (context, index) { return ListTile( title: Text(items[index]), trailing: IconButton( onPressed: () => removeAt(index), icon: const Icon(Icons.delete_outline), ), ); }, ), ); } }

Список из пяти городов. У каждой ListTile иконка корзины в trailing удаляет этот город. Проверьте, что остальные строки остаются на месте.

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