我有以下XML文字:
<input type='radio'
name={funcName}
value='true' />
Run Code Online (Sandbox Code Playgroud)
我想包括checked='checked'if cond是否属实.
我试过这个,
<input type='radio'
name={funcName}
value='true'
{ if (cond) "checked='checked'" else "" } />
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
(我真的很想避免重复整个标签.)
Kri*_*ala 30
Option也有效,减少了不必要的使用null:
scala> val checked:Option[xml.Text] = None
checked: Option[scala.xml.Text] = None
scala> val xml = <input checked={checked} />
xml: scala.xml.Elem = <input ></input>
Run Code Online (Sandbox Code Playgroud)
如果要仅在选中时添加属性,可以在使用Scala XML API后添加该属性:
import scala.xml._
val snippet = {
val x = <input type='radio'
name={funcName}
value='true' />
if( cond ) {
x % new UnprefixedAttribute("checked","checked",Null)
} else x
}
Run Code Online (Sandbox Code Playgroud)
信不信由你,你可以这样做:
<input type='radio'
name={funcName}
value='true'
checked={ if (cond) "checked" else null } />
Run Code Online (Sandbox Code Playgroud)
这是null实际使用的Scala的黑暗部分之一.
只是要明确,它正是你想要的:如果cond是false,那么input将没有任何 checked属性.
| 归档时间: |
|
| 查看次数: |
3425 次 |
| 最近记录: |