Javascript 正在从数组中删除输入,但该输入中的文本将在已删除索引中更新
我使用此函数单击创建输入Javascript 正在从数组中删除输入,但该输入中的文本将在已删除索引中更新,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,我使用此函数单击创建输入 createInputs(e) { // e.preventDefault(); const newInput = `input-${this.state.itemArray.length}`; this.setState({ itemArray: this.state.itemArray.concat([newInput]) }); } 我像这样处理所有输入的变化 handleChangeInput(e) {
createInputs(e) {
// e.preventDefault();
const newInput = `input-${this.state.itemArray.length}`;
this.setState({ itemArray: this.state.itemArray.concat([newInput]) });
}
我像这样处理所有输入的变化
handleChangeInput(e) {
this.setState({userStartedWriting: true})
const name = e.target.name;
if (name === 'title') {
this.setState({ title: e.target.value })
}
for (let i = 0; i < 26; i++) {
if (name === 'input-' + i) {
let items = [...this.state.inputKeywords];
let item = { ...items[i] };
item.value = e.target.value;
items[i] = item;
this.setState({ inputKeywords: items });
}
}
console.log(this.state.inputKeywords)
this.setState({ numberKeywords: this.state.itemArray.length })
}
handleRemoveClick = item => {
const list = this.state.itemArray.slice(0);
const listKeywords = this.state.inputKeywords.slice(0);
const getInputToRemove = list.indexOf(item)
if (getInputToRemove > -1){
console.log(getInputToRemove)
list.splice(getInputToRemove, 1)
listKeywords.splice(getInputToRemove, 1)
}
console.log(list)
console.log(listKeywords)
const removeOneFromArray = this.state.itemArray.length - 1;
this.setState({ itemArray: list, numberKeywords: removeOneFromArray })
}
所以。。如果我将console.log中的所有状态和内容都记录下来,那么就可以完美地删除阵列上的内容。但它显示了错误的信息
假设我有3个输入
- 输入-0(索引0)输入-1(索引1)输入-2(索引2)