flutter - 将数据从无状态小部件传递到有状态小部件
问题描述
我有这个带有数据的自定义类,它称之为无状态小部件,并且在有状态小部件中调用了无状态小部件,但不确定如何将数据传递给有状态小部件?
Model
class ListOfIcon {
String title;
String imgurl;
ListOfIcon({
this.title,
this.imgurl,
});
}
数据 :
final List<ListOfIcon> listoficons = [
ListOfIcon(title: 'fsdf', imgurl: 'assets/images/p4.jpg'),
ListOfIcon(title: 'fsdf', imgurl: 'assets/images/p4.jpg'),
ListOfIcon(title: 'fsdf', imgurl: 'assets/images/p4.jpg'),
ListOfIcon(title: 'fsdf', imgurl: 'assets/images/p4.jpg'),
ListOfIcon(title: 'fsdf', imgurl: 'assets/images/p4.jpg'),
ListOfIcon(title: 'fsdf', imgurl: 'assets/images/p4.jpg'),
];
无状态小部件:
class RowOFIcons extends StatelessWidget {
final ListOfIcon listOfIcon;
const RowOFIcons({
Key key,
this.listOfIcon,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return SliverToBoxAdapter(
child: GridView.builder(
itemCount: 6,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 4,
),
itemBuilder: (BuildContext context, int index) {
return Text(
listOfIcon.title,
style: TextStyle(
color: Colors.white,
),
);
},
),
);
}
}
有状态的小部件:
class Profile extends StatefulWidget {
@override
_ProfileState createState() => _ProfileState();
}
class _ProfileState extends State<Profile> {
ScrollController _scrollController;
double _scrolloffset = 0.0;
@override
void initState() {
_scrollController = ScrollController()
..addListener(() {
setState(() {
_scrolloffset = _scrollController.offset;
});
});
super.initState();
}
@override
void dispose() {
_scrollController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
final Size screenSize = MediaQuery.of(context).size;
return Scaffold(
appBar: PreferredSize(
preferredSize: Size(screenSize.width, 50.0),
child: CustomAppBar(
scrollOffset: _scrolloffset,
),
),
body: CustomScrollView(
controller: _scrollController,
slivers: [
SliverPadding(
padding: const EdgeInsets.all(8.0),
sliver: ProfilePhoto(),
),
SliverPadding(
padding: const EdgeInsets.all(8.0),
sliver: RowOFIcons(
listOfIcon: listoficons.,
),
),
],
),
);
}
}
嗨,我有这个带有数据的自定义类,它称之为无状态小部件,并且在有状态小部件中调用了无状态小部件,但不确定如何将数据传递给有状态小部件?
解决方案
我认为您正在寻找的是状态管理解决方案。在这里了解它。
推荐阅读
- forms - 如何在输入文本字段Vue JS中仅禁用前导空格
- javascript - 如何在Javascript中组合多个字典?
- python - python更好的方法来翻转键和值
- observablehq - 可观察的编辑器功能
- python - 在 Seaborn 散点图上标准化对象
- javascript - 使用 webrtc scaledrone 不显示远程视频
- python - 如何在时间序列分类中结合 LSTM 和 CNN
- python - 使用python在给定的相对路径创建文件
- progressive-web-apps - PWA 和 FCM 订阅群组
- c - 如何通过输入避免负数,或者如果用户输入负数程序给出错误结果?