在 Eureka 中隐藏一行取决于它是否包含一个值
Hiding a row in Eureka depending if it contains a value or not
我用 Eureka 制作了一个表单,想知道如何根据它是否包含值来隐藏行或部分:
form
+++ Section("Car")
<<< TextRow() {
[=10=].title = car?.name
}
+++ Section("Car color")
<<< TextRow() {
[=10=].title = car?.color
}
+++ Section("Car description")
<<< TextRow() {
[=10=].title = car?.description
[=10=].cell.textLabel?.numberOfLines = 0
}
+++ Section("Car brand")
<<< TextRow() {
[=10=].title = car?.brandName
}
+++ Section("Comment")
<<< TextRow() {
[=10=].tag = "Comment"
[=10=].title = car?.internComment
[=10=].cell.textLabel?.numberOfLines = 0
[=10=].hidden = Condition.function([])
{ form in
if (form.rowBy(tag: "Comment") as? TextRow) != nil {
return false
}
return true
}
}
我用
试过了
[=11=].hidden = Condition.function([])
{ form in
if (form.rowBy(tag: "Comment") as? TextRow) != nil {
return false
}
return true
}
但不管它是否包含值,它都会隐藏它。
您正在检查行本身,检查它的值
[=10=].hidden = Condition.function([]) { form in
if (form.rowBy(tag: "Comment") as? TextRow)?.value != nil {
return false
}
return true
}
或更短
[=11=].hidden = Condition.function([]) { form in
return !((form.rowBy(tag: "Comment") as? TextRow)?.value ?? false)
}
我用 Eureka 制作了一个表单,想知道如何根据它是否包含值来隐藏行或部分:
form
+++ Section("Car")
<<< TextRow() {
[=10=].title = car?.name
}
+++ Section("Car color")
<<< TextRow() {
[=10=].title = car?.color
}
+++ Section("Car description")
<<< TextRow() {
[=10=].title = car?.description
[=10=].cell.textLabel?.numberOfLines = 0
}
+++ Section("Car brand")
<<< TextRow() {
[=10=].title = car?.brandName
}
+++ Section("Comment")
<<< TextRow() {
[=10=].tag = "Comment"
[=10=].title = car?.internComment
[=10=].cell.textLabel?.numberOfLines = 0
[=10=].hidden = Condition.function([])
{ form in
if (form.rowBy(tag: "Comment") as? TextRow) != nil {
return false
}
return true
}
}
我用
试过了[=11=].hidden = Condition.function([])
{ form in
if (form.rowBy(tag: "Comment") as? TextRow) != nil {
return false
}
return true
}
但不管它是否包含值,它都会隐藏它。
您正在检查行本身,检查它的值
[=10=].hidden = Condition.function([]) { form in
if (form.rowBy(tag: "Comment") as? TextRow)?.value != nil {
return false
}
return true
}
或更短
[=11=].hidden = Condition.function([]) { form in
return !((form.rowBy(tag: "Comment") as? TextRow)?.value ?? false)
}