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

Flutter中使用Drift获取字符串列表的方法求助

解决Drift获取字符串列表的问题
  • 你遇到的核心问题是:拿到的_MappedSelectable<QueryRow, String>是Drift的延迟执行查询对象,不是直接的结果集合,所以不能直接调用toList()或者转成Map处理。

  • 正确的获取方式很简单,直接调用Drift查询对象的.get()方法(异步场景):

    // 假设db是你的数据库实例
    List<String> nicknames = await db.getAllNicks.get();
    

    如果是使用同步数据库(比如moor_ffi的同步实现),可以用.getSync()方法:

    List<String> nicknames = db.getAllNicks.getSync();
    
  • 补充说明:

    • 如果确定查询只会返回单个结果,可用getSingle()(无结果时会抛出异常)
    • 如果允许无结果的情况,可用getSingleOrNull()(无结果返回null)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 03:52:04