Skip to content

Can't get data with await #5

@bubnenkoff

Description

@bubnenkoff
import 'package:flutter/material.dart';
import 'package:get/get.dart';

import 'package:multiselect_dropdown_flutter/multiselect_dropdown_flutter.dart';

void main() {
  runApp(const MyApp());
}

class Controller extends GetxController {

  var names = <Map<String, dynamic>>[].obs;

  @override
  void onInit() {
    super.onInit();
    fetchDataFromNetwork();
  }

  Future<void> fetchDataFromNetwork() async {
    // Эмулируем задержку, как будто данные загружаются из сети
    await Future.delayed(Duration(seconds: 1));

    // Получаем данные (в данном случае, данные получаются с сервера)
    final List<Map<String, dynamic>> data = [
      {'id': 'dog', 'label': 'Dog'},
      {'id': 'cat', 'label': 'Cat'},
      {'id': 'mouse', 'label': 'Mouse'},
      {'id': 'rabbit', 'label': 'Rabbit'},
    ];

    names.assignAll(data);
  }
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'MultiSelect Dropdown demo',
      home: MultiSelectExample(),
    );
  }
}

class MultiSelectExample extends StatelessWidget {
  
  const MultiSelectExample({super.key});
  
  @override
  Widget build(BuildContext context) {

    final Controller ctrl = Get.put(Controller());

    return Scaffold(
      body: Padding(
        padding: const EdgeInsets.all(20),
        child: Column(
          children: [
            MultiSelectDropdown(
              list: ctrl.names,
              initiallySelected: const [],
              onChange: (newList) {
                // your logic
                // typically setting state
              },
              numberOfItemsLabelToShow: 2, // label to be shown for 2 items
              whenEmpty:
                  'Choose from the list', // text to show when selected list is empty
            ),
          ],
        ),
      ),
    );
  }
}

pubspec.yaml:

dependencies:
  flutter:
    sdk: flutter
  multiselect_dropdown_flutter: ^0.0.7
  get: ^5.0.0-release-candidate-4
```

result: can't select anything from dropdown like it have no any data.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions