flutter 列表下拉框加搜索

1.使用控件搜索加下拉框dropdown_search: ^0.4.9和获取中文拼音lpinyin: ^1.1.1

2.加入中文查询和首字查询

当中找到相应的packages,再在SelectDialog.dart当中加入引入拼音搜索

import 'package:lpinyin/lpinyin.dart';

更改匹配方法manageItemsByFilter使其可以支持拼音首字搜索

void manageItemsByFilter(String filter, {bool isFistLoad = false}) async {_loadingNotifier.value = true;List<T> applyFilter(String filter) {return _items.where((i) {if (widget.filterFn != null)return (widget.filterFn(i, filter));else if (widget.itemAsString != null) {if(filter.contains(new RegExp('^[a-zA-Z]+'))){return (PinyinHelper.getFirstWordPinyin(widget.itemAsString(i)))?.toLowerCase()?.contains(filter.toLowerCase()) ??false;}else{return (widget.itemAsString(i))?.toLowerCase()?.contains(filter.toLowerCase()) ??false;}}else if (i.toString().toLowerCase().contains(filter.toLowerCase()))return true;return false;}).toList();}//load offline data for the first timeif (isFistLoad && widget.items != null) _items.addAll(widget.items);//manage offline itemsif (widget.onFind != null && (widget.isFilteredOnline || isFistLoad)) {try {final List<T> onlineItems = List();onlineItems.addAll(await widget.onFind(filter) ?? List());//Remove all old data_items.clear();//add offline itemsif (widget.items != null) {_items.addAll(widget.items);//if filter online we filter only local list based on entred keyword (filter)if (widget.isFilteredOnline == true) {var filteredLocalList = applyFilter(filter);_items.clear();_items.addAll(filteredLocalList);}}//add new online items to list_items.addAll(onlineItems);_addDataToStream(applyFilter(filter));} catch (e) {_addErrorToStream(e);//if offline items count > 0 , the error will be not visible for the user//As solution we show it in dialogif (widget.items != null && widget.items.isNotEmpty) {_showErrorDialog(e);_addDataToStream(applyFilter(filter));}}} else {_addDataToStream(applyFilter(filter));}_loadingNotifier.value = false;}

3.使用

DropdownSearch<User>(items: nurses,      //user集合maxHeight: 300,selectedItem: selectUser(val),   //通过id查到对应的user类itemAsString: (User u) => u.name,  //显示user的名字onChanged: (value){onDropChange(value.id);},showSearchBox: true,showAsSuffixIcons: true,)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/45635.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有必要把共享服务器升级到VPS吗?

根据自己的需求来选择是否升级&#xff0c;虚拟专用服务器 (VPS) 是一种托管解决方案&#xff0c;它以低得多的成本提供专用服务器的大部分功能。使用 VPS&#xff0c;您的虚拟服务器将与在其上运行的其他虚拟服务器共享硬件服务器的资源。但是&#xff0c;与传统的共享托管&am…

Oracle数据库加密与安全

Wallet简介&#xff1a; Oracle Wallet(即内部加密技术TDE( Transparent DataEncryption&#xff09; TDE是 Oracle10gR2中推出的一个新功能,使用时要保证Oracle版本是在10gR2或者以上 Wallet配置&#xff1a; 1.创建一个新目录&#xff0c;并指定为Wallet目录 /home/oracle…

Python爬虫技术从去哪儿网获取旅游数据,对攻略进行可视化分析,提供全面的旅游攻略和个性化的出行建议

背景 随着信息技术的快速发展和互联网的普及&#xff0c;旅游行业也迎来了数字化和智能化的变革。去哪儿网作为中国领先的在线旅游平台之一&#xff0c;提供了丰富的旅游产品和服务&#xff0c;涵盖了机票、酒店、旅游度假等各个方面。用户通过去哪儿网可以方便地查询、预订和…

C# Path

Path.CombinePath.GetDirectoryNamePath.GetFileNamePath.GetFullPathPath.GetExtensionPath.GetFileNameWithoutExtensionPath.HasExtensionPath.ChangeExtensionPath.GetPathRootPath.IsPathRooted C# 中的 Path 是 System.IO 命名空间中的一个类&#xff0c;提供了用于操作…

el-input-number计数器change事件校验数据,改变绑定数据值后change方法失效问题的原因及解决方法

在change事件中如果对el-input-number绑定的数据进行更改&#xff0c;会出现change事件失效的问题 试过&#xff1a;this.$set()及赋值等方法&#xff0c;都无法解决 解决方法&#xff1a;用$nextTick函数对绑定值进行更改&#xff08; this.$nextTick(() > { this.绑定…

Java:构造函数与对象

第一章&#xff1a;构造函数揭秘 —— 创造者的第一次触碰 构造函数&#xff0c;顾名思义&#xff0c;是用于创建和初始化对象的特殊方法。它没有返回类型&#xff0c;名字与类名一致。构造函数是对象诞生的第一步&#xff0c;也是最至关重要的一步。让我们通过一个生动的例子…

STM32HAL库+ESP8266+cJSON+微信小程序_连接华为云物联网平台

STM32HAL库ESP8266cJSON微信小程序_连接华为云物联网平台 实验使用资源&#xff1a;正点原子F407 USART1&#xff1a;PA9P、A10&#xff08;串口打印调试&#xff09; USART3&#xff1a;PB10、PB11&#xff08;WiFi模块&#xff09; DHT11&#xff1a;PG9&#xff08;采集数据…

JavaScript 判断客户端是手机还是pad

引言 在日常开发中&#xff0c;经常需要根据设备的类型来做不同的适配或逻辑处理。特别是在移动端开发中&#xff0c;判断用户使用的设备类型是手机还是平板电脑是非常常见的需求。本文将介绍使用 JavaScript 判断设备类型的方法&#xff0c;并提供相应的代码示例。 设备类型…

【Soc级系统防御】PCB安全威胁与防御策略:攻击模型与实践指南

本文档深入探讨了印刷电路板(PCB)面临的安全挑战,包括硬件木马、现场修改、盗版和反向工程等攻击方式,并提供了相应的攻击模型、案例研究、实验操作及练习题,旨在提升对PCB安全威胁的认识和防范能力。 目录 您提供的文档内容中包含了第11章的目录信息,以下是该目录部分的…

阿里云通义千

**阿里云通义千问是阿里云自主研发的一款超大规模语言模型**&#xff0c;专门用于深入理解和分析用户输入的自然语言&#xff0c;以便在不同领域和任务中为用户提供智能服务与协助。以下是对阿里云通义千问模型的相关介绍&#xff1a; 1. **模型能力** - **单轮对话能力**&…

sshd -t命令详解

sshd -t命令用于检查sshd_config配置文件的语法错误。它可以帮助你在重启SSH服务器之前验证配置文件的正确性&#xff0c;以避免出现配置错误导致SSH连接问题的情况。 具体来说&#xff0c;sshd -t命令会执行以下操作&#xff1a; 1. 打开并读取sshd_config配置文件。2. 检查…

阿里云操作系统智能助手OS Copilot的实验测评报告

什么是OS Copilot 在老师的介绍下我了解到了阿里云OS Copilot这个产品&#xff0c;它是阿里云推出的一项基于人工智能技术的操作系统&#xff0c;设计用于阿里云Linux操作系统以及其他可能的云上操作系统环境&#xff0c;为用户提供智能化的系统管理和运维支持。 阿里云提供了…

Python数据分析-Excel和 Text 文件的读写操作

1.Excel和 Text 文件的读写操作 1. Text 文件读写包 import sys print(sys.argv[0]) print(__file__) print(sys.path[0]) qopen(sys.path[0] "\out.txt","w",encodingutf-8) q.write(这个是测试一下) q.close() print(done)open 语句可以打开的创建text…

【吊打面试官系列-ZooKeeper面试题】简述 Zookeeper 文件系统?

大家好&#xff0c;我是锋哥。今天分享关于 【简述 Zookeeper 文件系统?】面试题&#xff0c;希望对大家有帮助&#xff1b; 简述 Zookeeper 文件系统? Zookeeper 提供一个多层级的节点命名空间&#xff08;节点称为 znode&#xff09;。与文件系统不同的是&#xff0c;这些节…

白平衡说明

白平衡 相机白平衡的起源原理以及作用起源作用 白平衡的原理白平衡的类型应用说明 工业相机的白平衡效果对比一键白平衡的必要性一键白平衡的实现方式 相机白平衡的起源原理以及作用 起源 白平衡&#xff08;White Balance, WB&#xff09;概念的起源与色温理论密切相关。色温…

【eNSP模拟实验】单臂路由实现VLAN间通信

实验需求 如下图所示&#xff0c;辅导员办公室需要访问处在不同vlan的学生管理服务器的文件&#xff0c;那么如何实现两台终端相互通信呢&#xff1f;我们可以使用单臂路由的方式来实现。 单臂路由&#xff08;router-on-a-stick&#xff09;是指在路由器的一个接口上通过配置…

学习大数据DAY15 PLSQL基础语法4

目录 动态SQL execute immediate语句 带参数使用 作业 动态游标 动态游标类型声明 动态游标使用 强类型游标 作业2 遗忘点复习 动态SQL plsql里面只能执行 select insert update delete &#xff0c;想执行create怎么办&#xff1f;其他复杂功能&#xff1f; 使用…

Spring Boot中@Async注解的使用及原理 + 常见问题及解决方案

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

Xcode Playgrounds:探索Swift编程的交互式乐园

Xcode Playgrounds&#xff1a;探索Swift编程的交互式乐园 Xcode是苹果公司为macOS开发的集成开发环境&#xff08;IDE&#xff09;&#xff0c;它提供了一套完整的工具集&#xff0c;用于开发macOS、iOS、watchOS和tvOS应用。在Xcode中&#xff0c;Playgrounds是一个革命性的…

简述linux通知链机制

notifier chain概述 Linux内核中各个子系统相互依赖&#xff0c;当其中某个子系统状态发生改变时&#xff0c;有时需要使用一定的机制告知使用其服务的其他子系统&#xff0c;以便其他子系统采取相应的措施。为满足这样的需求&#xff0c;内核实现了事件通知链机制&#xff08…