编程更改SwiftUi Textfield值

发布于 2025-01-23 09:48:59 字数 124 浏览 2 评论 0原文

我有Swiftui Textfield。 我在其他类中提交相同的值并处理这些值。 根据此类过程中的过程,我必须通过编程性地用先前的数据替换TextField中的值。

像往常一样,这对Swiftui感到痛苦。 我该怎么做?

I have SwiftUI textfield.
I submit same values and process these values in an other class.
According to process in this class I have to replace values in textField with previous data programmatically.

As usual this a pain in swiftUI.
How can I do it ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

药祭#氼 2025-01-30 09:48:59

为什么必须痛苦。
在uiview textfield.text =“”就足够了。
我确定他们的理由高于我的掌握。

但是,在使用swiftui时,我做到了,就像首先将变量放在

class Shared: ObservableObject {
static let shared = Shared()

@Published var texEditsDefaults = Edits().defaultValues

}

当时的过程类

 class Calculation {

 @ObservedObject var calculation = Shared.shared


   // do something

   texEditsDefaults = newValues

 }

中,并且

struct TextValuesView: View {
  @ObservedObject var calculation = Shared.shared
   var body: some View {
    ForEach(0..<calcNames.count, id: \.self) { calcIndex in               
      TextField(calcNames[calcIndex], text: $calculation.texEditsDefaults[calcIndex])
         .onSubmit{                                     
           // send values class calculation
         }
       }      
    }
}

Why it have to be pain.
In UIView textField.text = "" was enough.
I am sure they have their reasons above my grasp.

But while using SwiftUI I did it like that first you put your variables in

class Shared: ObservableObject {
static let shared = Shared()

@Published var texEditsDefaults = Edits().defaultValues

}

then in process class

 class Calculation {

 @ObservedObject var calculation = Shared.shared


   // do something

   texEditsDefaults = newValues

 }

and

struct TextValuesView: View {
  @ObservedObject var calculation = Shared.shared
   var body: some View {
    ForEach(0..<calcNames.count, id: \.self) { calcIndex in               
      TextField(calcNames[calcIndex], text: $calculation.texEditsDefaults[calcIndex])
         .onSubmit{                                     
           // send values class calculation
         }
       }      
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文