Дополнительное выделение не требуется, поскольку выделение уже сохранено в модели, поэтому
1) удалите эти строки
@State var selection: String = ""
// Save selection to variable ?
selection = "\(self.model.manufacturerNames[model.selectedManufacturer])-\(self.model.stockNames[model.selectedStock])"
2) не создавайте встроенную модель, просто объявить, что он может вводить через конструктор
struct DynamicPicker: View {
@ObservedObject var model: Model // << here !!
3) используйте ту же модель для DynamicPicker
этого другого зависимого представления, предположим, что он называется ManufacturerView
(объявив ту же наблюдаемую модель, что и выше) . И есть некоторое представление root, содержащее оба, так что это может быть как
struct RootView: View {
let model = Model() // << create it here
var body: some View {
VStack {
DynamicPicker(model: self.model)
ManufacturerView(model: self.model)
}
}
}
, поэтому, когда выбор обновляется в DynamicPicker
, тогда ManufacturerView
будет обновляться автоматически с соответствующим выбором, потому что использовать те же данные источник.