大家好,我是 SwiftUI 的新手,我正在尝试找到一种巧妙的方法来添加或删除 TextFields,当按下陡峭的加号或减号时。
我目前有
@State private var answers: [String] = ["", ""]
Stepper(onIncrement: {
if(numberOfAnswers < 10){
answers.append("")
numberOfAnswers += 1
}
},
onDecrement: {
if(numberOfAnswers > 2){
answers.removeLast()
numberOfAnswers -= 1
}
}) {
ForEach(answers.indices, id: \.self) { index in
TextField("Answer", text: $answers[index])
}
但是,当调用 onDecrement 时,这会导致 Index out of bounds 异常。我尝试包装字符串以符合 Identifiable(使用@State
内部结构声明),ForEach(answers)
但是这会产生一个警告,指出该变量将不会被更新。
我尝试了此处发布的解决方案,但无济于事。
我不需要持久存储这个结果,因为它将被传递给一个单独的函数,在按钮按下时进行 API 调用。
对此的任何帮助将不胜感激。