flutter - 在 Flutter 中使用类将参数作为列表传递
问题描述
我正在 Flutter 中开发一个简单的聊天屏幕 UI。有一个用户定义的小部件 MessageBubble,它接受三个参数:sender (String)、text (String)、isMe (bool)。目前它正在被一一传递静态值,如下所示:
List<MessageBubble> messages = [
MessageBubble(
sender: "Me",
text: "Hi!",
isMe: true,
),
MessageBubble(
sender: "Not Me",
text: "Hey, hi!",
isMe: false,
),
];
我想做的是,我创建了一个像这样的 BubbleData 类:
class BubbleData {
List <String> sender = ['Not Me', 'Not Me'];
List <String> text = ['Hey Hi', "What's new?"];
List <bool> isMe = [false, false];
}
现在手头的问题在于如何使用 ListView 构建器通过 MessageBubble 迭代这些列表项?
解决方案
也许更好的方法是定义你的 BubbleData 如下:
class BubbleData{
String sender;
String text;
bool isMe;
BubbleData({this.sender, this.text, this.isMe});
}
然后使用您的数据创建一个可以迭代的列表:
List<BubbleData> bubbles = [
BubbleData(sender: 'Not Me', text: 'Hey Mi', isMe: false),
BubbleData(sender: 'Not Me', text: 'What\'s new?', isMe: false)
];
下一步将映射并转换为 MessageBubble 的列表:
List<MessageBubble> messages = bubbles.map((bubble) =>
MessageBubble(
sender: bubble.sender,
text: bubble.text,
isMe: bubble.isMe
)
).toList();
推荐阅读
- php - 我可以在赋值运算符的左侧使用三元运算符吗?
- php - 如何获取结果在laravel中多个一对多关系根据用户的角色获取数据
- c# - 为什么我必须为异步查询多次编写等待?
- java - 检查对象的最佳方法是什么,它的成员在Java中为空
- php - Instagram 新 API - 如何使用纯 PHP 代码获取授权代码
- sql - Sql中排除两个连续条件的数据
- python - TensorBoard 未找到标量数据
- javascript - 如何使用 d3js 和 reactjs 在饼图中将标签显示为工具提示
- android - 如何使用来自 mobile-buy-sdk-android 的查询获取博客列表
- scala - 使用 elastic4s 创建索引设置