This commit is contained in:
Михаил Капелько
2024-01-08 10:05:59 +03:00
parent 895f74440b
commit c3265592a7
4 changed files with 31 additions and 5 deletions

View File

@@ -17,6 +17,8 @@ extension BusUI {
self.textApp = textApp self.textApp = textApp
self.textUI = textUI self.textUI = textUI
/**/print("ИГР BusUTF(\(Unmanaged.passUnretained(self).toOpaque())).init textA/textU: '\(textApp)'/'\(textUI)'")
$id $id
.sink { [weak self] v in self?.setup(v) } .sink { [weak self] v in self?.setup(v) }
.store(in: &sub) .store(in: &sub)

View File

@@ -3,17 +3,25 @@ import SwiftUI
extension MeetupId { extension MeetupId {
public struct TV: View { public struct TV: View {
@StateObject var textField = BusUI.TextField(K.testTextApp, K.testTextUI) let id: String
@StateObject var vm = TVM()
public init(_ id: String) { public init(_ id: String) {
textField.id = id self.id = id
} }
public var body: some View { public var body: some View {
TextField("TV", value: $textField.v, formatter: BusUI.TextFieldSource()) TextField("TV", value: vm.$textField.v, formatter: BusUI.TextFieldSource())
.padding(8) .padding(8)
.border(Color.blue) .border(Color.blue)
.animation(.easeInOut(duration: 0.3)) .animation(.easeInOut(duration: 0.3))
.onAppear {
vm.setup(id)
} }
.onChange(of: id) { newValue in
vm.setup(newValue)
}
}
} }
} }

View File

@@ -0,0 +1,17 @@
import BusX
extension MeetupId {
public final class VM: ObservableObject {
let textField = BusUI.TextField(K.testTextApp, K.testTextUI)
@Published public var id: String?
var subscriptions = [AnyCancellable]()
public init() { }
public setup(_ id: String) {
/**/print("ИГР MeetupIV(\(Unmanaged.passUnretained(self).toOpaque())).setup id: '\(id)'")
textField.id = id
}
}
}

View File

@@ -4,8 +4,7 @@ import UIKit
struct Content: View { struct Content: View {
var body: some View { var body: some View {
MeetupId.V() //MeetupId.V()
Divider()
MeetupId.TV("uuid-1") MeetupId.TV("uuid-1")
Divider() Divider()
MeetupId.TV("uuid-2") MeetupId.TV("uuid-2")