我有以下代码,它显示在PageView内的ListView(展开的在列内):
Expanded(
child: ListView.builder(
itemCount: rollRows.length,
itemBuilder: (BuildContext context, int index) {
return rosterViewCard(rollRows[index]);
},
),
)
我想测试rollRows.length是否等于1,如果不是,则要显示文本“不显示任何作业”,而不是显示ListView。
我尝试过:
Expanded(
child: rollRows == 1
? [
Center(
child: Text(
'No shifts to display',
style: TextStyle(fontSize: 18, color: kBodyText),
),
),
]
: [
ListView.builder(
itemCount: rollRows.length,
itemBuilder: (BuildContext context, int index) {
return rosterViewCard(rollRows[index]);
},
),
]
)
但是我遇到了以下错误:
不能将参数类型“列表”分配给参数类型“小部件”。
我想我将三元条件放置在错误的位置,但不确定在哪里进行。谢谢你的想法。
答案 0 :(得分:1)
您只需从三元条件中删除[
和]
。
Expanded
小部件将小部件作为child
属性。但目前,您正在使用List
和[
传递]
。删除这些方括号将消除错误。
Expanded(
child: rollRows == 1
?
Center(
child: Text(
'No shifts to display',
style: TextStyle(fontSize: 18, color: kBodyText),
),
)
:
ListView.builder(
itemCount: rollRows.length,
itemBuilder: (BuildContext context, int index) {
return rosterViewCard(rollRows[index]);
},
),
)
答案 1 :(得分:1)
请尝试一下,我认为这对您有帮助.. !!
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="root"></div>