如何在 React 中分隔输入字段值?

Posted

技术标签:

【中文标题】如何在 React 中分隔输入字段值?【英文标题】:How to separate input field values in React? 【发布时间】:2019-09-30 22:44:52 【问题描述】:

我有一个根据数组中的项目数生成的输入列表:

const itemInputs = items.map(
  item => <Input key=item value=itemInput onChange=event => this.updateItem(event) />,
);

这是我的 updateItem 函数的样子:

  updateItem(event) 
    this.setState(
      itemInput: event.target.value,
    );
  

所以如果我的数组中有两个项目,那么将生成两个输入字段,如下所示:

但是当我为第一个输入字段输入一个值时,相同的值会出现在第二个输入字段中,如下所示:

如何防止这种情况发生?我希望每个输入字段都保留自己的值。

【问题讨论】:

【参考方案1】:

这是一种方法

const items = ['firstName', 'lastName'];

const itemInputs = items.map(
  name => <Input key=name name=name value=this.state[name] onChange=event => this.updateItem(name, event) />,
);

updateItem = (name, event) => 
  this.setState( [name]: event.target.value );

【讨论】:

【参考方案2】:

好吧,我假设您将所有输入放在一个组件中。并且组件只能有 1 个状态。

换句话说,您正在更改 itemInput 的值,它会影响所有输入,因为 ypu 声明它们的值将是所有相同组件的 itemInput

您可以做的是为输入创建一个新组件,然后调用它。 这样,您将拥有每个输入的状态。

希望对您有所帮助。 祝你好运

【讨论】:

我明白了。好吧,您仍然将这些自定义组件传递给单个组件。这是 1 个州。

以上是关于如何在 React 中分隔输入字段值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Pandas 中分隔列名及其值?

在PostgreSQL中分隔整数值

如何更改字符串中分隔两种货币的逗号?

如何在ios中分隔数组

将用户输入的值替换为 React 中分配有状态的值

如何存储一个' | '使用 perl 在哈希中分隔假脱机文件