#swiftui
Вопрос:
В моем приложении есть определенная страница, на которой я создаю пользовательский интерфейс на основе данных сервера.
Я создаю эти элементы динамически: двоичный файл, список, проверка и т. Д.
Теперь, как я могу впоследствии восстановить ввод данных пользователем.
ForEach(0..<(paramsVM.productParams[index].params?.count ?? 0), id:.self) { i in
let viewType = ParamViewType(rawValue: paramsVM.productParams[index].params?[i].type ?? "")
switch viewType {
case .single_list:
SingleListParamView(params: .constant((paramsVM.productParams[index].params?[i])!), checkIsFiledFull: $checkFiledsIsFull, uploadParams: $uploadParams, check: $check, checkState: $checkState)
.frame(width: UIScreen.main.bounds.width - 32)
case .multi_list:
MultiListParamView(params: (productParams[index].params?[i])!, uploadParams: $uploadParams, checkIsFiledFull: $checkFiledsIsFull, check: $check)
.frame(width: UIScreen.main.bounds.width - 32)
case .number:
NumberInputCell(params: .constant((paramsVM.productParams[index].params?[i])!), uploadParams: $uploadParams, isShowM2: (requiredParams[index].unit?.contains("M2") ?? false) ? true : false, checkIsFiledFull: $checkFiledsIsFull, check: $check)
.frame(width: UIScreen.main.bounds.width - 32)
case .binary_button:
ParamBinartButton(params: .constant((paramsVM.productParams[index].params?[i])!), uploadParams: $uploadParams, checkIsFiledFull: $checkFiledsIsFull, check: $check)
.frame(width: UIScreen.main.bounds.width - 32)
case .none:
EmptyView()
}
}
Пожалуйста, помогите.
Комментарии:
1. Я вижу , что вы используете .constant Я считаю, что это
@Binding
, но вы не сможете отследить, что ввел пользователь, потому что значение выше не изменилось, я рекомендую использовать@EnvironmentObject
или@StateObject
, возможно@State
, для этого