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

Класс ValueKey

Класс ValueKey наследует Key и хранит значение типа T. Два ValueKey равны, если равны их значения. Удобно для списков с id строки или числа.

Синтаксис

ValueKey(value)

Пример

Давайте подпишем пункты ListView ValueKey:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: ListView( children: [ ListTile( key: ValueKey('abcde'), title: Text('abcde'), ), ListTile( key: ValueKey('12345'), title: Text('12345'), ), ], ), ), ), ); }

На экране два пункта с подписями 'abcde' и '12345' сохранят State при сортировке по ключу.

Пример

Давайте возьмём ValueKey с числовым значением:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: Text( 'abcde', key: ValueKey(1), ), ), ), ), ); }

На экране по центру строка 'abcde' с ключом ValueKey(1).

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

  • класс ObjectKey,
    который сравнивает по идентичности объекта
  • класс Key,
    общий базовый тип всех ключей
  • виджет ListView,
    где ключи помогают при перестановке children
  • виджет ListTile,
    которому часто задают key
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить