我的比較運算子有問題,在我的論壇中,如果帖子數<= 10、<=50 等等,我想顯示一個元素...但是如果顯示<=50,我想隱藏<= 10.
我的代碼:
if (userPosts <= 10){
vnode.children.push(
<span className="auto-badge"><i class="fas fa-baby autopost"/> less than 10 posts</span>
);
}
if (userPosts <= 50){
vnode.children.push(
<span className="auto-badge"><i class="fas fa-child autopost"/> less than 50 posts</span>
);
}
if (userPosts <= 100){
vnode.children.push(
<span className="auto-badge"><i class="fas fa-bullhorn autopost"/> less than 100 posts</span>
);
}
問題是,如果用戶有 200 個帖子,我會看到所有這 3 個元素都顯示出來,而我只想顯示 <=100。
uj5u.com熱心網友回復:
您可以將else-if塊用作:
if (userPosts <= 10){
vnode.children.push(
<span className="auto-badge"><i class="fas fa-baby autopost"/> less than 10 posts</span>
);
}
else if (userPosts <= 50){
vnode.children.push(
<span className="auto-badge"><i class="fas fa-child autopost"/> less than 50 posts</span>
);
}
else if (userPosts <= 100){
vnode.children.push(
<span className="auto-badge"><i class="fas fa-bullhorn autopost"/> less than 100 posts</span>
);
}
uj5u.com熱心網友回復:
你可以在你的if陳述句中做一個雙重條件:
if (userPosts <= 10){
vnode.children.push(
<span className="auto-badge"><i class="fas fa-baby autopost"/> less than 10 posts</span>
);
}
if (userPosts <= 50 && userPosts > 10){
vnode.children.push(
<span className="auto-badge"><i class="fas fa-child autopost"/> less than 50 posts</span>
);
}
if (userPosts <= 100 && userPosts > 50){
vnode.children.push(
<span className="auto-badge"><i class="fas fa-bullhorn autopost"/> less than 100 posts</span>
);
}
編輯或使用else if陳述句:
if (userPosts <= 10){
vnode.children.push(
<span className="auto-badge"><i class="fas fa-baby autopost"/> less than 10 posts</span>
);
}
else if (userPosts <= 50){
vnode.children.push(
<span className="auto-badge"><i class="fas fa-child autopost"/> less than 50 posts</span>
);
}
else if (userPosts <= 100){
vnode.children.push(
<span className="auto-badge"><i class="fas fa-bullhorn autopost"/> less than 100 posts</span>
);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/358392.html
標籤:javascript 反应
