You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter select_form_field包SelectFormField dialog类型搜索功能失效问题

问题原因

select_form_field组件开启搜索功能仅配置enableSearch: true不生效,必须额外传入searchFn参数自定义搜索过滤规则,你当前的代码缺少该配置项。

解决方法

  1. 先定义搜索过滤函数,示例为按选项的label字段做大小写不敏感模糊匹配:
List<Map<String, dynamic>> _searchAccounts(List<Map<String, dynamic>> items, String keyword) {
  if (keyword.isEmpty) return items;
  return items.where((item) => 
    item['label'].toString().toLowerCase().contains(keyword.toLowerCase())
  ).toList();
}
  1. 在SelectFormField组件配置中新增searchFn参数绑定上述函数,修改后的完整组件代码如下:
SelectFormField(
  dialogCancelBtn: 'Cancel',
  enableSearch: true,
  dialogSearchHint: 'Search account',
  type: SelectFormFieldType.dialog,
  icon: Icon(Icons.account_balance),
  labelText: 'Select Account',
  hintText: 'Select Account',
  items: _items,
  // 新增搜索逻辑绑定
  searchFn: _searchAccounts,
  onChanged: (val) {
    print(val);
  },
)

如果需要适配其他匹配规则,比如按value值搜索、大小写敏感匹配,自行调整过滤函数中的判断逻辑即可。

内容的提问来源于stack exchange,提问作者Mn Arsely

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:24:02