Eureka- 根据 ActionSheetRow 值隐藏行
Eureka- Hiding row depending on ActionSheetRow value
我试图根据在它之前的 ActionSheetRow 中选择的值隐藏一行。如果用户选择他们生活在寒冷的气候中,我想隐藏或保持隐藏他们喜欢游泳的地方的 ActionSheetRow .
func testForm(){
form +++ Section("Test")
<<< TextRow("Your Name"){
[=10=].placeholder = "Enter Your Name"
}
<<< ActionSheetRow<String>("placeOfLiving") {
[=10=].title = "Continent"
[=10=].selectorTitle = "Where do you live?"
[=10=].options = ["Antartica","Australia","Africa", "Asia", "Europe", "North America", "South America"]
}
<<< ActionSheetRow<String>("swimming") {
[=10=].hidden = Condition.function([])
{ form in
if let section = form.rowBy(tag: "placeOfLiving") as? ActionSheetRow<String> {
if section.value == "Antartica" {
return true
}
}
return false
}
[=10=].title = "Swimming"
[=10=].selectorTitle = "Where do you like to swim?"
[=10=].options = ["Pool","Beach","Lake", "River"]
}
}
我将如何检查 ActionSheetRow 的值然后隐藏下一行?我尝试了不同的方法来进行这项检查,但找不到类似的情况。欢迎任何反馈
您需要传递要在 hidden
function array
中检查值的 rows
的 tag
,如下所示。
[=10=].hidden = Condition.function(["rowTag"])
因此,您的代码将变为,
[=11=].hidden = Condition.function(["placeOfLiving"])
{ form in
if let row = form.rowBy(tag: "placeOfLiving") as? ActionSheetRow<String> {
return section.value == "Antartica"
}
return false
}
我试图根据在它之前的 ActionSheetRow 中选择的值隐藏一行。如果用户选择他们生活在寒冷的气候中,我想隐藏或保持隐藏他们喜欢游泳的地方的 ActionSheetRow .
func testForm(){
form +++ Section("Test")
<<< TextRow("Your Name"){
[=10=].placeholder = "Enter Your Name"
}
<<< ActionSheetRow<String>("placeOfLiving") {
[=10=].title = "Continent"
[=10=].selectorTitle = "Where do you live?"
[=10=].options = ["Antartica","Australia","Africa", "Asia", "Europe", "North America", "South America"]
}
<<< ActionSheetRow<String>("swimming") {
[=10=].hidden = Condition.function([])
{ form in
if let section = form.rowBy(tag: "placeOfLiving") as? ActionSheetRow<String> {
if section.value == "Antartica" {
return true
}
}
return false
}
[=10=].title = "Swimming"
[=10=].selectorTitle = "Where do you like to swim?"
[=10=].options = ["Pool","Beach","Lake", "River"]
}
}
我将如何检查 ActionSheetRow 的值然后隐藏下一行?我尝试了不同的方法来进行这项检查,但找不到类似的情况。欢迎任何反馈
您需要传递要在 hidden
function array
中检查值的 rows
的 tag
,如下所示。
[=10=].hidden = Condition.function(["rowTag"])
因此,您的代码将变为,
[=11=].hidden = Condition.function(["placeOfLiving"])
{ form in
if let row = form.rowBy(tag: "placeOfLiving") as? ActionSheetRow<String> {
return section.value == "Antartica"
}
return false
}