पैकेज, रिपॉज़िटरी और ऐप श्रेणियाँ खोजें

पैकेज विवरणv1.2.0

combos

Flutter के लिए कॉम्बो विजेट्स। इसमें Combo, AwaitCombo, ListCombo, SelectorCombo, TypeaheadCombo, MenuItemCombo शामिल हैं

30-दिन डाउनलोड
58
लाइक
21
Pub अंक
40

पैकेज इंस्टॉल करें

flutter pub add combos

पैकेज अवलोकन

सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।

Combos एक Flutter पैकेज है जो संयुक्त विशेष विंडोज का संग्रह प्रदान करता है, जो आम UI पैटर्न को सरल बनाने के लिए डिज़ाइन किए गए हैं, विशेष रूप से ड्रॉपडाउन और चयन-आधारित इंटरैक्शन के लिए। इसमें Combo, AwaitCombo, ListCombo, SelectorCombo, TypeaheadCombo और MenuItemCombo जैसे विंडोज शामिल हैं, जिनमें से प्रत्येक विशिष्ट उपयोग मामलों के लिए अनुकूलित हैं, जैसे असिंक्रोनस डेटा लोडिंग, सूची रेंडरिंग और टाइप-हेड सर्च कार्यक्षमता। ये घटक विकासकर्मियों की उत्पादकता को बढ़ाते हैं, क्योंकि ये फॉर्म इनपुट और नेविगेशन मेनू में फ्लटर एप्लिकेशन में दोहराए जा सकने वाले, स्थिर और कस्टमाइज़ करने योग्य समाधान प्रदान करते हैं।

उपयोग

  • गतिशील विकल्प वाले फॉर्म इनपुट
  • टाइप-हेड सर्च फ़ील्ड
  • ड्रॉपडाउन में असिंक्रोनस डेटा लोडिंग
  • कस्टमाइज़ किए गए मेनू आइटम रेंडरिंग
  • सूची-आधारित चयन इंटरफेस
  • डायनामिक फॉर्म फील्ड निर्भरता

मुख्य विशेषताएँ

  • सामान्य पैटर्न के लिए पूर्व-निर्मित कॉम्बो विजेट्स
  • AwaitCombo के माध्यम से एसिंक डेटा का समर्थन
  • फ़िल्टरिंग के साथ टाइपहेड इनपुट
  • लचीला सूची और चयनकर्ता एकीकरण
  • पुनः उपयोगी और संयोज्य डिज़ाइन
  • विजेट्स के माध्यम से साफ और सुसंगत API

इनके लिए उपयुक्त

  • जटिल ड्रॉपडाउन के साथ फॉर्म बना रहे विकासकर्ता
  • पुन: उपयोग करने योग्य चयन घटकों की आवश्यकता वाली टीमें
  • खोजयोग्य या डायनामिक सूचियों की आवश्यकता वाले ऐप्स
  • यूएक्स सुसंगतता पर केंद्रित फ्लटर प्रोजेक्ट्स
  • कॉम्बो के लिए बॉयलरप्लेट को कम करना चाहते हैं विकासकर्ता

विचार योग्य बातें

  • सीमित प्लेटफॉर्म-विशिष्ट कस्टमाइज़ेशन
  • कोई बिल्ट-इन थीम समर्थन नहीं है
  • Flutter widget संयोजन के बारे में समझ की आवश्यकता है
  • बंडल के आकार में थोड़ा वृद्धि हो सकती है
  • बड़े डेटासेट के बिना पृष्ठांतरण के लिए अनअनुकूलित

मूल README

संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।

Combos

About

Combo widgets for Flutter.

Install instructions

Docs

Online Samples

alt text

Includes:

  • Combo - Simple combo widget for custom child and popup content.
  • AwaitCombo - Combo widget with delayed popup content builder for loading data with the progress indication
  • ListCombo - Combo widget for displaying items list
  • SelectorCombo - Combo widget for displaying items list with selected value
  • TypeaheadCombo - Typeahead widget with the text input and custom 'search' method
  • MenuItemCombo - Menu item widget for displaying popup menus
Examples
  • Combo
Combo(
  child: const Padding(
    padding: EdgeInsets.all(16),
    child: Text('Combo child'),
  ),
  popupBuilder: (context, mirrored) => const Material(
    elevation: 4,
    child: Padding(
      padding:
          EdgeInsets.symmetric(vertical: 48, horizontal: 16),
      child: Center(child: Text('Combo popup')),
    ),
  ),
)
  • AwaitCombo
AwaitCombo(
  child: const Padding(
    padding: EdgeInsets.all(16),
    child: Text('Combo child'),
  ),
  popupBuilder: (context) async {
    await Future.delayed(const Duration(milliseconds: 500));
    return const Material(
      elevation: 4,
      child: Padding(
        padding:
            EdgeInsets.symmetric(vertical: 48, horizontal: 16),
        child: Center(child: Text('Combo popup')),
      ),
    );
  },
)
  • ListCombo
ListCombo<String>(
  child: const Padding(
    padding: EdgeInsets.all(16),
    child: Text('Combo child'),
  ),
  getList: () async {
    await Future.delayed(const Duration(milliseconds: 500));
    return ['Item1', 'Item2', 'Item3'];
  },
  itemBuilder: (context, parameters, item) => ListTile(title: Text(item)),
  onItemTapped: (item) {},
)
  • SelectorCombo
String _item;

...

SizedBox(
  width: 200,
  child: SelectorCombo<String>(
    selected: _item,
    getList: () async {
      await Future.delayed(const Duration(milliseconds: 500));
      return ['Item1', 'Item2', 'Item3'];
    },
    itemBuilder: (context, parameters, item) =>
        ListTile(title: Text(item ?? '<Empty>')),
    onItemTapped: (item) => setState(() => _item = item),
  ),
)
  • TypeaheadCombo
String _item;

...

SizedBox(
  width: 200,
  child: TypeaheadCombo<String>(
    selected: _item,
    getList: (text) async {
      await Future.delayed(const Duration(milliseconds: 500));
      return ['Item1', 'Item2', 'Item3'];
    },
    itemBuilder: (context, parameters, item) =>
        ListTile(title: Text(item ?? '<Empty>')),
    onItemTapped: (item) => setState(() => _item = item),
    getItemText: (item) => item,
    decoration: const InputDecoration(labelText: 'Typeahead'),
  ),
)
  • MenuItemCombo
MenuItemCombo<String>(
  item: MenuItem(
      'File',
      () => [
            MenuItem('New'),
            MenuItem.separator,
            MenuItem('Open'),
            MenuItem('Save'),
            MenuItem('Save As...'),
            MenuItem.separator,
            MenuItem(
                'Recent',
                () => [
                      MenuItem('Folders', () async {
                        await Future.delayed(
                            Duration(milliseconds: 500));
                        return [
                          MenuItem('Folder 1'),
                          MenuItem('Folder 2'),
                          MenuItem('Folder 3'),
                        ];
                      }),
                      MenuItem('Files', () async {
                        await Future.delayed(
                            Duration(milliseconds: 500));
                        return [
                          MenuItem('File 1'),
                          MenuItem('File 2'),
                          MenuItem('File 3'),
                        ];
                      }),
                    ]),
            MenuItem.separator,
            MenuItem('Exit'),
          ]),
  itemBuilder: (context, parameters, item) => Padding(
    padding: const EdgeInsets.all(16),
    child: Text(item.item),
  ),
  onItemTapped: (value) {
    final dialog =
        AlertDialog(content: Text('${value.item} tapped!'));
    showDialog(context: context, builder: (_) => dialog);
  },
)

श्रेणियाँ

सोर्स रिपॉज़िटरी

इस पैकेज का उपयोग करने वाले प्रोजेक्ट

अभी कोई डेटा उपलब्ध नहीं है।