Agregar nuevo elemento en el selector en SwiftUI

ppmax

No encuentro cómo agregar algún elemento en una vista de selector en SwiftUI, en mi muestra, quiero agregar el valor "Z" en el selector cuando hago clic en el botón.

struct ContentView: View {
@State var values: [String] = ["A", "B", "C"]

@State private var selectedValue = 0

var body: some View {
    NavigationView {
        Form {
            Section {
                Picker(selection: $selectedValue, label: Text("Value")) {
                    ForEach(0 ..< values.count) {
                        Text(self.values[$0])

                    }
                }
            }
            Button(action: {
        self.values.append("Z")
            }, label: {
                Text("Add")
            })
        }.navigationBarTitle("Select a value")

    }
}

Cuando hago clic en el botón, se agrega Z a la matriz de "valores" pero el selector no se actualiza.

Gracias :)

Mojtaba Hosseini

Debe identificar los valores por idSwiftUI para que sus cambios sean detectables:

ForEach(0 ..< self.values.count, id: \.self) {
    Text(self.values[$0])
}

De esta manera, SwiftIU sabe que debería reconstruir el selector al cambiar.

Sugerencia : puede usar elementos directamente como este:

ForEach(values, id: \.self) {
    Text($0)
}

No olvide cambiar el selectedValuetipo y el valor para que coincidan con el origen de datos SI siguió el consejo anterior:

@State private var selectedValue = "A"

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Flutter Listview duplica el elemento aleatorio en lugar de agregar un nuevo elemento en nuevos datos

Flutter Listview duplica el elemento aleatorio en lugar de agregar un nuevo elemento en nuevos datos

El formulario de envío reemplaza el último elemento en lugar de agregar un nuevo elemento

Me falta el Agregar nuevo elemento Agregar "Clase MFC de Typelib" en VS-2019

Agregar un evento onclick a un nuevo elemento html solo funciona en el último elemento

¿Agregar un nuevo elemento en el archivo JSON en TypeScript/NodeJS?

¿Cómo puedo agregar un nuevo elemento a una matriz y actualizar la matriz con el nuevo elemento en F #?

Visual C # 2013: elemento que desaparece al agregar uno nuevo en el editor de formularios WPF

agregar un nuevo elemento en el objeto de colección laravel

PHP: ¿agregar un nuevo elemento en la matriz usando el bucle for?

Agregar un bit nuevo en el paquete

Plantilla de elemento personalizada no aparece en el cuadro de diálogo Agregar nuevo elemento de Visual Studio 2015

¿Cómo agregar un nuevo elemento en python LIST/DICT?

Cómo agregar un nuevo elemento en un archivo srt

Agregar un nuevo elemento raíz para xml en Java

KendoUI Grid con MultiSelect, agregar un nuevo elemento en MultiSelect

Agregar un nuevo elemento a una lista en Vue 2

Agregar un nuevo elemento a un diccionario en Python

Agregar un nuevo tipo de elemento en Oracle APEX

Agregar un nuevo elemento a la lista de listas (en R)

agregar un nuevo elemento a la matriz de estructura en c

React useState (): agregar un nuevo elemento en la matriz no funciona

Agregar un nuevo elemento a un diccionario anidado en python

Problemas de SwiftUI 2.0 CoreData con el nuevo proyecto: 'No se puede encontrar el tipo' Elemento 'en el alcance'

Problemas de SwiftUI 2.0 CoreData con el nuevo proyecto: 'No se puede encontrar el tipo' Elemento 'en el alcance'

¿Cómo agregar un nuevo formato de fecha en el selector de fechas de Sitecore WebForms For Marketers (WFFM)?

Selector XPath basado en el elemento anterior

¿Cómo incluir correctamente el botón "Agregar elemento" en un NavigationView usando SwiftUI?

C # MongoDb Actualizar condicionalmente los elementos de matriz existentes en el documento y agregar un nuevo elemento