我们在LitElement中使用“ if”表达式来有选择地渲染render方法中的内容,并且每次“ if”表达式得到重新评估(更改)时都希望重新创建子DOM。这类似于dom-if元素用来支持聚合物3中的“ restamp”特性。
真的很喜欢这里的任何指示吗?
谢谢, 维沙尔
答案 0 :(得分:0)
您有2个选项,具体取决于条件是否会多次更改,并且是否要缓存表示的零件:
没有缓存(普通javascript)
@IBOutlet var textFields: [CustomTextField]!
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
for textField in textFields {
textField.customPasteDelegate = self
}
}
具有缓存(使用lit-html中的缓存指令)
func handlePaste() {
if let pasteString = UIPasteboard.general.string {
let splitArray = pasteString.split(separator: "\n")
for (index, val) in splitArray.enumerated() {
textFieldsArray[index].text = String(val)
}
}
}
答案 1 :(得分:0)
尝试一下:
render() {
return html`${
condition ? html`<p>Hello</p>` : ''
}`;
}