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

Flutter Flow中基于Local State JSON实现列表搜索的配置求助

在Flutter Flow中基于Local State JSON实现列表搜索组件

下面是无需依赖Firestore或外部API的实操方案:

  • 1. 把JSON数据存入Local State
    进入Flutter Flow的「State Management」面板,新建一个Local State变量,类型选JSON,将你的列表数据以合法JSON数组格式填入(示例:[{"name":"产品1","type":"电子"},{"name":"产品2","type":"家居"}])。

  • 2. 搭建搜索与列表UI
    在页面添加TextField作为搜索输入框,再添加ListView或GridView组件用于展示筛选结果。

  • 3. 编写搜索筛选逻辑
    给搜索框绑定「On Changed」事件,创建自定义动作(Custom Action)编写筛选代码:

    // 替换成你的Local State变量名和目标搜索字段
    List<dynamic> filterLocalData(String keyword) {
      final originalList = state.yourLocalJsonVar;
      if (originalList is List) {
        return originalList.where((item) => 
          item['name'].toString().toLowerCase().contains(keyword.toLowerCase())
        ).toList();
      }
      return [];
    }
    

    筛选完成后,把结果存入另一个Local State变量(比如filteredJson),再将列表组件的数据源绑定到这个变量。

  • 4. 初始化默认列表显示
    在页面「On Page Load」事件中,把原始Local State的JSON数据复制到filteredJson变量,确保页面打开时显示完整列表。

  • 可选优化

    • 给搜索框加防抖处理,比如延迟300ms再执行筛选,避免输入时频繁触发逻辑。
    • 需要多字段搜索时,在筛选条件里追加字段判断即可,比如item['type'].contains(keyword)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 16:15:53