如何将 fabric ui 文本字段与处理函数一起使用 - 有没有办法给它们命名?

How to use fabric ui textfields with a handler function - is there a way to give them a name?

我正在尝试为多个文本字段编写一个处理程序函数,用户可以在其中键入文本。每个文本字段都有一个功能,可以将输入的数据发送到 props 和另一个 class 组件以供提交。我正在尝试编写一个事件处理程序,它可以处理所有不同的文本字段,而不必为每个文本字段编写一个句柄函数。我正在使用 Fabric UI 并且我遵循的指南都说需要从 传递的 'name' 属性 可以被处理函数使用,以便它可以更新状态。我尝试添加 'name'、'type',但没有任何内容被接受。

谁能告诉我如何通过给每个人一个独特的 'name' 来区分不同的人?

这是我当前的非 working/finished 处理函数来统治它们:

public handleObjectWithMultipleFields = (ev) => {
  const target = ev.target;
  const value = target. 

  this.setState({
    [ev]: value
  })
}

这是一个文本字段的函数:

private _onJobTitReportToChange = (ev: React.FormEvent<HTMLInputElement>, newValue?: string) => {
        this.props.onJobTitleReportToChange(newValue);
      }

这里是组件中的渲染

<TextField value={this.props.jobTitleReportTo} 
           onChange={this._onJobTitReportToChange}/>

一如既往的感谢。

我认为您需要从输入中提取名称和值,而不仅仅是值。

public handleObjectWithMultipleFields = (ev) => {
  const target = ev.target;
  const {value, name} = target;

  this.setState({
    [name]: value
  })
}

为什么不直接给控件指定名称(如果我没理解错的话)。

<TextField name="txtA"
           onChange={this.handleObjectWithMultipleFields}/>

              <TextField name="txtB"
           onChange={this.handleObjectWithMultipleFields}/>
              <div>

public handleObjectWithMultipleFields  = (ev, newText: string): void => {
    const target = ev.target;
    const value = newText; 
    var _ControlName=target.name;

    this.setState({
      controlName: _ControlName,
      ControlValue:value
    })
  }