以下代码无效。任何人都可以帮我写作else if
这里有条件吗?
function getMyColumns() {
return [{
field: "xxx",
title: "1st",
width: "75px",
}, {
field: "ChoiceCode",
title: "2nd",
width: "75px",
template: "#if(ChoiceCode == null) {# #} else If(mychoice == ChoiceCode) {#" +
"{ #<div style='background-color:lightgreen'><span>#=ChoiceCode#</span></div>#}" +
"else {# <span>#=secondChoiceCode#</span> #}" +
"#}#"
}, {
}];
}
在选择字段中,如果它为null我想显示一个空字符串,如果它有一个值并且它与我的选择匹配,我想突出显示那个绿色的单元格,如果它不匹配我的选择不要突出显示它。
答案 0 :(得分:1)
就个人而言,我会改变这一点,以便更容易阅读和更改。
而不是将所有逻辑放在此处将其拉出到函数中,因此模板命令如下所示:
function(choiceCode, myChoice, secondChoiceCode) {
var retString = '';
if (choiceCode === null || choiceCode === undefined) {
retString = '';
} else if (myChoice === choiceCode) {
resString = '<div style="background-color:lightgreen;"><span>' +
choiceCode + '</span></div>'
} else {
retString = '<span>' + secondChoiceCode + '</span>';
}
return retString;
}
具有如下脚本编写的功能:
public void setAlcoholContent(double aAlcoholContent) {
if (aAlcoholContent < 0 || aAlcoholContent > 1) {
throw new IllegalArgumentException("Alcohol content can't be more than 1 or less than 0");
}
this.alcoholContent = aAlcoholContent;
}
然后,您可以远离必须记住各种大括号的位置,并在模板中将其转义。
显然将函数更改为需要它返回数据的方式,但这取决于我在原始代码中看到的内容。我假设变量是每行的绑定模型中的属性。
修改强> 我添加了以下演示,希望有助于: user input
答案 1 :(得分:1)
如果您将模板内联,则为:
#if(ChoiceCode == null) {# #} else If(mychoice == ChoiceCode) {# { #<div style='background-color:lightgreen'><span>#=ChoiceCode#</span></div>#}else {# <span>#=secondChoiceCode#</span> #} #}#
或更好(故意没有#
):
if(ChoiceCode == null) { }
else If(mychoice == ChoiceCode) {
{ <div style='background-color:lightgreen'><span>#=ChoiceCode#</span></div>
}
else {
<span>#=secondChoiceCode#</span> }
}
注意到了什么问题?我认为应该是这样的:
if(ChoiceCode == null) { }
else If(mychoice == ChoiceCode) {
<div style='background-color:lightgreen'><span>#=ChoiceCode#</span></div>
}
else {
<span>#=secondChoiceCode#</span>
}
内联版本:
# if(ChoiceCode == null) { # # } else if (mychoice == ChoiceCode) { #<div style='background-color:lightgreen'><span>#=ChoiceCode#</span></div> # } else { # <span>#=secondChoiceCode#</span> # } #
代码版本:
template: "#if(ChoiceCode == null) {# #} else if(mychoice == ChoiceCode) {#" +
"<div style='background-color:lightgreen'><span>#=ChoiceCode#</span></div>#}" +
"else {# <span>#=secondChoiceCode#</span> #}#";
答案 2 :(得分:0)
可能的拼写错误
} else if(mychoice == ChoiceCode){
应该是
}否则if(mychoice == ChoiceCode){
答案 3 :(得分:0)
模板中有一些extara括号({)
试试这个
function getMyColumns() {
return [{
{
field: "xxx",
title: "1st",
width: "75px",
}, {
field: "ChoiceCode",
title: "2nd",
width: "75px",
template: "#if(ChoiceCode == null) {# #} else if(mychoice == ChoiceCode) {#" +
"<div style='background-color:lightgreen'><span>#=ChoiceCode#</span></div>#}" +
"else {# <span>#=secondChoiceCode#</span> #}#",
}, {
}];
}