如何使用 Eureka 框架根据所选值隐藏行/部分
How to hide a row / section based on selected value with Eureka framework
我尝试使用 Eureka framework
创建调查表。但是,如何在选择特定选项后隐藏部分?
请帮忙!
let fruits = ["Apple", "Banana", "Coconut"]
form +++= SelectableSection<ImageCheckRow<String>, String>() { section in
section.header = HeaderFooterView(title: "What is your favorite fruit ?")
}
for fruit in fruits {
form.last! <<< ImageCheckRow<String>(fruit) { lrow in
lrow.title = fruit
lrow.selectableValue = fruit
}
}
form +++ Section("xxxxxx Question") {
//hide this section when apple is selected
//[=10=].hidden =
}
form.last! <<< TextAreaRow() {
[=10=].title = "Enter description here..."
}
首先为您的水果部分设置标签,例如 "fruits_section"。然后你可以像这样设置隐藏变量:
[=10=].hidden = Condition.Function([])
{ form in
if let section = form.sectionByTag("fruits_section") as? SelectableSection<ImageCheckRow<String>, String> {
if section.selectedRow()?.title == "Apple" {
return true
}
}
return false
}
要在第一部分中选择一行时强制评估此隐藏条件,您可以使用第一部分的 onSelectSelectableRow
:
(section as! SelectableSection<ImageCheckRow<String>, String>).onSelectSelectableRow = { [weak self] _ in
self?.form.sectionByTag("last_section_tag")?.evaluateHidden()
}
不要忘记为两个部分设置正确的标签。
如果您只有两个部分,您可以使用 form.first
和 form.last
而不是标签,但不推荐这样做。
我尝试使用 Eureka framework
创建调查表。但是,如何在选择特定选项后隐藏部分?
请帮忙!
let fruits = ["Apple", "Banana", "Coconut"]
form +++= SelectableSection<ImageCheckRow<String>, String>() { section in
section.header = HeaderFooterView(title: "What is your favorite fruit ?")
}
for fruit in fruits {
form.last! <<< ImageCheckRow<String>(fruit) { lrow in
lrow.title = fruit
lrow.selectableValue = fruit
}
}
form +++ Section("xxxxxx Question") {
//hide this section when apple is selected
//[=10=].hidden =
}
form.last! <<< TextAreaRow() {
[=10=].title = "Enter description here..."
}
首先为您的水果部分设置标签,例如 "fruits_section"。然后你可以像这样设置隐藏变量:
[=10=].hidden = Condition.Function([])
{ form in
if let section = form.sectionByTag("fruits_section") as? SelectableSection<ImageCheckRow<String>, String> {
if section.selectedRow()?.title == "Apple" {
return true
}
}
return false
}
要在第一部分中选择一行时强制评估此隐藏条件,您可以使用第一部分的 onSelectSelectableRow
:
(section as! SelectableSection<ImageCheckRow<String>, String>).onSelectSelectableRow = { [weak self] _ in
self?.form.sectionByTag("last_section_tag")?.evaluateHidden()
}
不要忘记为两个部分设置正确的标签。
如果您只有两个部分,您可以使用 form.first
和 form.last
而不是标签,但不推荐这样做。