我正在尝试在视图分页器中创建一个与我对象列表中的项目数一样多的页面:
class WebViewPagerBuilder extends StatelessWidget {
final dynamic result;
const WebViewPagerBuilder({this.result});
@override
Widget build(BuildContext context) {
ProductNeedConfigModel items = result["Data"] as ProductNeedConfigModel;
return Scaffold(
body: PageView.builder(
itemCount: result["Data"].data.length,
itemBuilder: (contex, index){
[
...items.data.map((item){
return ConfigWebViewScreen(result);
})
];
}
),
);
}
}
在ConfigWebViewScreen类内部,我具有webview,但是我的代码不起作用并且webview不显示?
*********编辑*****************]
如果我将构建器更改为此:
body: PageView.builder(
itemCount: items.data.length,
itemBuilder: (contex, index) =>
...items.data.map((item) {
return ConfigWebViewScreen(result);
}).toList()
),
读取行出现在...items
部分下,并显示此错误:
Positional arguments must occur before named arguments.
Try moving all of the positional arguments before the named arguments.
我认为您在itemBuilder中缺少退货
itemBuilder: (contex, index){
return [
...items.data.map((item){
return ConfigWebViewScreen(result);
})
];
}
由于您未使用itemBuilder索引,因此应尝试执行以下操作:
body: PageView(
children: [
...items.data.map((item){
return ConfigWebViewScreen(result);
})
],
),
尝试一下,
body: PageView.builder(
itemCount: items.data.length,
itemBuilder: (contex, index) => ConfigWebViewScreen(items.data[index]),
),
),