从 React 中的选择选项下拉列表填充字段 A 后,如何自动填充字段 B

小伙子

我正在将数据映射到 React 表单中的字段 A(产品字段)下拉选择选项。我想用字段 A 中选择的产品数量自动填充字段 B(价格字段)。我可以列出字段 A 的产品选项。在字段 A 中选择一个选项后,如何填充字段 B

下面是我的反应代码

   constructor(props) {
    super(props)
    this.state = {
       
              products: [],

     }
    }

 handleItemNameChange(event) {
  console.log(event.target.value); 
   console.log(this.state.products); 

    const selectedProduct = this.state.products.find(product => 
                             product.id === event.target.value);
    this.setState({item_name: event.target.value, item_price: 
                    selectedProduct.price });
  }

  handleItemPriceChange(event) {
    this.setState( { ...this.state, item_price: event.target.value });
  }


{/**** Field 1     ******/}
   <Field  className="form-control form-control-sm" name="item_name"  component="select"  type="select" 
                                               onChange={this.handleItemNameChange}>
           
                 {products.map((product) => 
                                               <option key={product.id} value={product.id}>   
                                                      {  product.name}
                                               </option>
                                              )}
   </Field>


{/**** Field 2    ******/}

<Field className="form-control form-control-sm" name="item_price" type="text" onChange={this.handleItemPriceChange} />


{/**** end    ******/}

在此处查找控制台日志结果图像。“16”为已选产品,其余为所有上架产品 图片2

卡姆兰

您可以在设置项目时使用价格设置 item_price 状态:

handleItemNameChange(event) {
  const selectedProduct = this.state.products.find(product => product.id == event.target.value);
  this.setState({item_name: event.target.value, item_price: selectedProduct.price });
}

并将 item_price 状态作为值传递给字段 2

<Field 
    className="form-control form-control-sm" 
    value={this.state.item_price} 
    name="item_price" type="text" 
    onChange={this.handleItemPriceChange} 
 />

(作为旁注,您不必销毁并传递this.statesetState它将自动为您完成)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ng-options未填充选择选项下拉列表

如何重新填充角度引物下拉列表的选择选项

使用angular2或打字稿输入选项卡A中的字段后,如何在选项卡B中预填充字段

如何从选择选项下拉列表中获取值并在switch语句中使用该值

如何使用 React 创建自动填充/填充按钮单击事件上的文本字段的功能?

如何在页面加载时从 React js 中的 Api 调用填充选择选项

如何在wordpress插件中保存选择选项下拉列表

如何链接到表单选择选项下拉列表

如何隐藏选择选项下拉列表的当前和上一个问题?

如何在选择选项下拉菜单中添加输入文本

如何使用 Angular 中的反应形式获取选择选项下拉文本值

根据单击按钮在选择选项下显示输入字段

如何通过ajax post发送选择选项下拉列表的选项值(而不是里面的html文本)?

自动填充字段,取决于选择的选项

如何在React中动态填充选择选项的setState?TypeError:this.state.schoolName.map不是函数

使用j查询在一个下拉列表中选择选项时,如何填充json?

如何在laravel中自动填充字段?

根据选择选项填充文本字段

PHP-从MySQL DB填充选择下拉列表,并以表格的形式自动填充该字段

选择选项 Javascript DOM 后自动填充输入

需要输入字段仅当所选的多个选择选项中的一个将被填充

在React js中使用Reactstrap从多个选择下拉列表中动态选择选项

始终在react js antd中的选择下拉列表顶部显示选择选项

从 json 结果中填充选择选项

在React Native中读取Sms以自动在文本字段中填充OTP的可能方法是什么

React:从嵌套数据集中填充选择选项选项卡

如何添加更多字段以自动填充?

如何自动以特定形式填充字段

如何基于html选择选项填充html文本输入字段