Estoy trabajando en una matriz. En realidad, tengo una lista desplegable. Estoy empujando ese objeto a una matriz, pero en realidad me enfrento a un problema cuando selecciono algo que muestra dos elementos al mismo tiempo, como en el menú desplegable, supongamos que tengo opciones (opción 1, opción 2, opción 3). Por ejemplo, seleccioné la opción 1, empujó el valor del objeto como opción 1, pero cuando seleccioné la opción 2, también lo empujó a una matriz. Quiero valores únicos como si selecciono opciones 2, debería seleccionar un valor reciente.
generateExtraFieldData = (data, name, index, type, value, values) => { const { projectFloorData, unitModifiedData } = this.state let obj = projectFloorData[name] obj['data'] = data let tempArr = [...unitModifiedData] tempArr.push(obj) this.setState({ unitModifiedData: this.uniqueFiles(tempArr) }) // projectFloorData[name].data = data}
uniqueFiles = (data) => { let unique = _.uniqBy(data, 'index') console.log('@@ array', unique) return unique }He usado lodash pero solo devuelve el valor seleccionado, necesito un valor reciente como si el usuario seleccionara una segunda vez
Intenta usar yourArray.length = 1; , este límite te limita a un límite int. Y si selecciona otra opción, simplemente haga yourArray.length = 0 para borrar la matriz y luego otra vez yourArray.length = 1; para almacenar la nueva opción.
¿Por qué está presionando su valor seleccionado en su matriz si desea seleccionar un solo valor a la vez? Pruebe un objeto en lugar de una matriz y cambie el valor/reasigne el valor en la selección.