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');
  }
}
回到顶部