我试图表明当过滤对象的大小为零时,没有数据显示。调用filter方法后有没有办法检查它的大小?
this.state.items
.filter(item => {
// filter code
})
.map(item => {
// display data
})
例如,this.state.items有10个项目,在通过filter方法后变为零。我想在此时显示消息。
答案 0 :(得分:0)
首先将过滤后的数据存储在变量中:
let filteredData = this.state.items
.filter(item => {
// filter code
});
现在filteredData
将包含已过滤的数据,现在您可以检查此变量的长度并return
'找不到数据'如果length = 0
,请使用ternary operator
:
return filteredData.length ?
filteredData.map(item => {
// display data
})
:
<div>No data found </div>;
或者您也可以使用if-else
条件:
if(filteredData.length)
filteredData.map(item => {
// display data
})
else
<div>No data found </div>
答案 1 :(得分:0)
const filteredData = this.state.items((items) => //filter code);
return filteredData.count()
? filteredData.map(item => //data);
: <div>No Data found </div>
尝试使用不可变对象。