我正在研究一个数组,实际上,我有一个下拉列表。我把那个对象推到数组中,但我面临一个问题,当我选择一些东西时,它会同时显示两个元素,就像下拉菜单一样,假设我有选项(option1, option2, option3)。例如,我选择了option1,它将对象值推为option1,但当我选择option2时,它也将其推入数组。我想要唯一的值,如果我选择options2,它应该是选择最近的值。
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
}
我使用了lodash,但它只返回一个选定值,我需要一个最近的值,比如如果用户第二次选择
尝试使用yourArray.length = 1;
,这将您的数组限制为int限制。如果您选择了另一个选项,只需执行yourArray.length = 0
以清除数组,然后再次执行yourArray.length = 1;
以存储新选项。
如果你想一次选择一个值,为什么你要把你选择的值推到你的数组中,尝试一个对象而不是一个数组,并在选择时改变值/重新分配值