Flutter插件il_ilce的使用方法
Flutter插件il_ilce的使用方法
İl İlçe Seçici
此库用于快速选择土耳其的省份和区县。
安装
在终端运行以下命令来安装插件:
flutter pub add il_ilce
使用方法
下拉菜单组件
IlIlceController controller = IlIlceController();
IlIlceDropDown(
controller: controller,
),
搜索对话框
String? arananIl;
String? arananIlce;
// 省搜索对话框
ElevatedButton(
onPressed: () async {
final value = await IlIlceDialog.instance.selectIl(context);
setState(() {
arananIl = value;
print(value);
});
},
child: Text(arananIl ?? "省搜索"),
),
// 区县搜索对话框
ElevatedButton(
onPressed: () {
if (arananIl == null) {
return;
}
IlIlceDialog.instance.selectIlce(context, il: arananIl).then((value) {
setState(() {
arananIlce = value;
});
});
},
child: Text(arananIlce ?? "区县搜索"),
)
许可证
本项目采用 MIT 许可证。
以下是完整的示例代码:
import 'package:flutter/material.dart';
import 'package:il_ilce/conttroler/il_ilce_conttroler.dart';
import 'package:il_ilce/il_ilce.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({
super.key,
});
[@override](/user/override)
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
// 控制器用于存储选择的省份和区县
IlIlceController controller = IlIlceController();
// 存储搜索结果
String? arananIl;
String? arananIlce;
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
const SizedBox(height: 100),
// 显示选择的省份
Text(
controller.selectedCity.city,
style: TextStyle(fontSize: 30),
),
// 显示选择的区县
Text(
controller.selectedCity.district,
style: TextStyle(fontSize: 30),
),
const SizedBox(height: 20),
// 下拉菜单选择省份和区县
IlIlceDropDown(
controller: controller,
),
// 获取选择的省份和区县
ElevatedButton(
onPressed: () => setState(() {}),
child: Text("获取"),
),
const SizedBox(height: 20),
// 弹出省份搜索对话框
ElevatedButton(
onPressed: () async {
final value = await IlIlceDialog.instance.selectIl(context);
setState(() {
arananIl = value;
print(value);
});
},
child: Text(arananIl ?? "搜索省份"),
),
const SizedBox(height: 20),
// 弹出区县搜索对话框
ElevatedButton(
onPressed: () {
if (arananIl == null) {
return;
}
IlIlceDialog.instance.selectIlce(context, il: arananIl).then((value) {
setState(() {
arananIlce = value;
});
});
},
child: Text(arananIlce ?? "搜索区县"),
)
],
),
);
}
}
更多关于Flutter插件il_ilce的使用方法的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复
更多关于Flutter插件il_ilce的使用方法的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在Flutter开发中,il_ilce
是一个用于处理土耳其行政区划(省和县)的插件。它可以帮助开发者获取土耳其的省(il)和县(ilce)信息,并且可以根据省获取其下的所有县。虽然这个插件可能不如一些常用的插件那样广为人知,但在处理与土耳其行政区划相关的需求时,它可能非常有用。
安装插件
首先,你需要在 pubspec.yaml
文件中添加 il_ilce
插件的依赖:
dependencies:
flutter:
sdk: flutter
il_ilce: ^1.0.0 # 请确保使用最新版本
然后运行 flutter pub get
来安装插件。
使用插件
以下是一些常见的使用场景和示例代码:
1. 获取所有省
你可以使用 IlIlce
类来获取土耳其的所有省:
import 'package:il_ilce/il_ilce.dart';
void main() {
List<Il> iller = IlIlce.getIller();
for (var il in iller) {
print('省 ID: ${il.id}, 省名称: ${il.ad}');
}
}
2. 获取某个省下的所有县
你可以使用省 ID 来获取该省下的所有县:
import 'package:il_ilce/il_ilce.dart';
void main() {
int ilId = 34; // 例如,34 是伊斯坦布尔的 ID
List<Ilce> ilceler = IlIlce.getIlcelerByIlId(ilId);
for (var ilce in ilceler) {
print('县 ID: ${ilce.id}, 县名称: ${ilce.ad}');
}
}
3. 根据省名称获取省信息
如果你知道省名称,也可以通过省名称来获取省信息:
import 'package:il_ilce/il_ilce.dart';
void main() {
String ilAd = 'İstanbul';
Il? il = IlIlce.getIlByAd(ilAd);
if (il != null) {
print('找到省: ${il.ad}, ID: ${il.id}');
} else {
print('未找到省: $ilAd');
}
}