[英]More than one line of code in ternary statement?
:
之后是否可以有多個“代碼行”? 目前, clearNameInputRef.current.style.display = "none";
無論如何都在運行,但它應該只在searchName == ""
/if searchName != ""
為false
時運行
searchName != "" ? fetchClassesByName() : nameDropdownRef.current.style.display = "none"; clearNameInputRef.current.style.display = "none";
是的,您可以在?
之后添加換行符或:
對於代碼行。
不,您不能在“ :
塊”內有多個表達式。
目前...正在運行,不管
因為分號結束了三進制和 else 表達式。
您需要在 else 部分使用單個表達式,例如方法。
searchName != "" ? fetchClassesByName() : ClearStyles(nameDropdownRef.current.style, clearNameInputRef.current.style);
...
private void ClearStyles(... s1 , ... s2) { // Not sure what types these are
s1.display = "none";
s2.display = "none";
}
但是,三元組旨在返回一個條件值,而不是有條件地運行兩個方法,因此請使用實際的 if-else。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.