在FlutterFlow中如何基于父ListView选中项过滤Supabase数据源的子ListView?
FlutterFlow中Supabase关联表父子ListView过滤方案
操作步骤
- 确认父ListView已绑定Singers表查询,每个列表项可访问当前歌手的
id字段(即songs表关联用的singer_id外键)。 - 创建子ListView的Songs表查询:
- 打开FlutterFlow的Data Sources面板,新建Songs表查询;或直接在子ListView的数据源设置中创建。
- 进入查询的Filter配置,添加规则:选择
singer_id字段,匹配规则设为Equals,值来源选From Parent Widget,关联父ListView当前项的id字段(如Singers.id)。
- 绑定子ListView:在父列表项的容器内添加子ListView,将其数据源设置为上述带过滤条件的Songs表查询,再把列表项组件绑定到Songs表的对应字段(如歌曲名、时长)。
可选优化
- 若需实时更新歌曲列表,在Songs表查询中开启Realtime功能,确保对应表的实时权限已配置。
- 数据量较小时,可在父Singers表查询中开启预加载关联数据(Supabase查询语句中使用
singers(id, name, songs(*))),减少单独查询次数,但数据量大时不建议使用,避免性能问题。
内容的提问来源于stack exchange,提问作者Gary
相关产品推荐
相关产品推荐

