mobikul_suggest_field 0.0.2
mobikul_suggest_field: ^0.0.2 copied to clipboard
A powerful and customizable suggestion field for Flutter, supporting dynamic filtering, styling, and interactive UI enhancements for better user experience.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:mobikul_suggest_field/mobikul_suggest_field.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Mobikul Suggestions Example',
theme: ThemeData(
primarySwatch: Colors.blue,
useMaterial3: true,
),
home: const HomePage(),
);
}
}
class HomePage extends StatefulWidget {
const HomePage({super.key});
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
// Example data
final List<String> _countries = [
'United States',
'United Kingdom',
'Canada',
'Australia',
'Germany',
'France',
'Italy',
'Spain',
'Japan',
'China',
'India',
'Brazil',
'Mexico',
'Russia',
'South Korea',
];
String _selectedCountry = '';
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Country Search Example'),
),
body: SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: [
// Basic Usage
Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Text(
'Country Name',
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
),
),
const SizedBox(height: 16),
MobikulSuggestField(
decoration: const InputDecoration(
border: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(10))
),
),
suggestions: _countries,
onSelected: (value) {
setState(() {
_selectedCountry = value;
});
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Selected: $value')),
);
},
hintText: 'Search Country',
),
],
),
),
if (_selectedCountry.isNotEmpty)
Card(
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Row(
children: [
const Text(
'Selected Country: ',
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.bold,
),
),
Text(
_selectedCountry,
style: const TextStyle(
fontSize: 16,
),
),
],
),
),
),
],
),
),
),
);
}
}