如果页面上有很多,如何更改 1 select 的值

0x00000228

如果页面上有很多,如何更改 1 select 的值。我在表 col 中有 8 个选择,每个选择都必须单独更改。我不明白如何分别为每个人做到这一点。当我选择意见时,所有选择都会更改值。

import React, { Component } from "react";
import MenuItem from "@material-ui/core/MenuItem";
import FormControl from "@material-ui/core/FormControl";
import Select from "@material-ui/core/Select";

export default class Demo extends Component {
  state = {
    productTaxes: [
      { label: "Tax 8%", value: 10 },
      { label: "Tax 23%", value: 11 }
    ],
    selected: "10",
  };
  handleSelect = (e, key, type) => {
    this.setState({
      selected: e.target.value
    });
  };
  render() {
    return (
      <div>
        <FormControl>
          <Select
            name={1}
            value={10}
            onChange={e => this.handleSelect(e, "tax")}
          >
            {this.state.productTaxes.map((tax, i) => {
              return (
                <MenuItem key={i} value={tax.value}>
                  {tax.label}
                </MenuItem>
              );
            })}
          </Select>
        </FormControl>
        <FormControl>
          <Select
            name={2}
            value={this.state.selected}
            onChange={e => this.handleSelect(e, "tax")}
          >
            {this.state.productTaxes.map(tax => {
              return (
                <MenuItem key={`tax${tax.value}`} value={tax.value}>
                  {tax.label}
                </MenuItem>
              );
            })}
          </Select>
        </FormControl>
      </div>
    );
  }
}

拉维巴古尔91

每个选择都需要单独的状态。您可以使用name来自select,的属性

<Select
    name="select1"
    value={this.state.select1}
    onChange={e => this.handleSelect(e, "tax")}
>
  {this.state.productTaxes.map((tax, i) => {
      return (
        <MenuItem key={i} value={tax.value}>
            {tax.label}
        </MenuItem>
      );
  })}
</Select>

您可以对所有选择执行相同的方法。

你的handleSelect功能应该是,

handleSelect = (e, key, type) => {
    this.setState({
      [e.target.name]: e.target.value
    });
};

注意:避免对 使用数字name,这不是一个好习惯。使用更具体的字符串名称。

另一件事是,除非必要,否则不要向函数传递额外的参数,

onChange={e => this.handleSelect(e, "tax")}

这可以简化为,

onChange={this.handleSelect}

你的功能可以是,

handleSelect = (e) => { ... }

也不要重复代码。如果你觉得代码被重复了,那么你总是可以将该部分分配给一个变量并改用该变量,

render(){

  const options = this.state.productTaxes.map((tax, i) => {
       return (
          <MenuItem key={i} value={tax.value}>
              {tax.label}
          </MenuItem>
       );
  });

  return(
      ...
      <Select
        name="select1"
        value={this.state.select1}
        onChange={e => this.handleSelect(e, "tax")}
      >
        {options}
      </Select>
      ...
  )
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

页面上有2个React-Select组件-一个更改另一个的值

来自分类Dev

select()将如何返回-1、0或1以外的任何值?

来自分类Dev

在MySQL Select语句中将值从1更改为Y

来自分类Dev

在发送AJAX请求之前,如何捕获#select1和#select2值?

来自分类Dev

datepicker:显示数据库中的值,但允许用户更改;页面上有多个datepicker()

来自分类Dev

datepicker:显示数据库中的值,但允许用户更改;页面上有多个datepicker()

来自分类Dev

为什么SELECT * FROM table WHERE值!='1'不返回带有NULL的字段?

来自分类Dev

在表A和类别= 1中具有相同日期值的SELECT行

来自分类Dev

带有“ LIMIT 1”的MySQL SELECT查询是否可以返回集合而不是单个值?

来自分类Dev

Javascript angularjs <select> 有默认值 0,当它应该是 1

来自分类Dev

如何使用REPLACE()替换mysql SELECT查询的1列中的多个值?

来自分类Dev

不同的数据库,不同的结果类型在jdbc上显示“ SELECT 1”:如何检查值?

来自分类Dev

<select>没有选定的值

来自分类Dev

如何基于内联样式更改<select>值?

来自分类Dev

如何返回-1值?

来自分类Dev

如果值为1,则更改整个行的PandasDF值

来自分类Dev

如果用户使用ctrl + shift + i更改select的值

来自分类Dev

如果pyqt的值是1,如何在pyqt中更改QPlainTextEdit()中的文本,而如果值是0,则如何不更改?

来自分类Dev

SQL更新,如果值= 1

来自分类Dev

根据输入文本更改SELECT值

来自分类Dev

多次更改<select>元素的选定值

来自分类Dev

Select2不能更改值

来自分类Dev

如何使用ajax将select标签的值发送到驻留在同一页面上的php

来自分类Dev

SELECT列中的“如果一对多表具有值”

来自分类Dev

MySQL-如果SELECT中有多个行列值,则为IF

来自分类Dev

Oracle SQL请求-SELECT中的SELECT具有MAX值

来自分类Dev

PHP / MySQL SELECT按字段(值1,值2)查询和排序等

来自分类Dev

在DocumentDB中具有多个值的SELECT

来自分类Dev

AJAX <select>值错误(有时)

Related 相关文章

  1. 1

    页面上有2个React-Select组件-一个更改另一个的值

  2. 2

    select()将如何返回-1、0或1以外的任何值?

  3. 3

    在MySQL Select语句中将值从1更改为Y

  4. 4

    在发送AJAX请求之前,如何捕获#select1和#select2值?

  5. 5

    datepicker:显示数据库中的值,但允许用户更改;页面上有多个datepicker()

  6. 6

    datepicker:显示数据库中的值,但允许用户更改;页面上有多个datepicker()

  7. 7

    为什么SELECT * FROM table WHERE值!='1'不返回带有NULL的字段?

  8. 8

    在表A和类别= 1中具有相同日期值的SELECT行

  9. 9

    带有“ LIMIT 1”的MySQL SELECT查询是否可以返回集合而不是单个值?

  10. 10

    Javascript angularjs <select> 有默认值 0,当它应该是 1

  11. 11

    如何使用REPLACE()替换mysql SELECT查询的1列中的多个值?

  12. 12

    不同的数据库,不同的结果类型在jdbc上显示“ SELECT 1”:如何检查值?

  13. 13

    <select>没有选定的值

  14. 14

    如何基于内联样式更改<select>值?

  15. 15

    如何返回-1值?

  16. 16

    如果值为1,则更改整个行的PandasDF值

  17. 17

    如果用户使用ctrl + shift + i更改select的值

  18. 18

    如果pyqt的值是1,如何在pyqt中更改QPlainTextEdit()中的文本,而如果值是0,则如何不更改?

  19. 19

    SQL更新,如果值= 1

  20. 20

    根据输入文本更改SELECT值

  21. 21

    多次更改<select>元素的选定值

  22. 22

    Select2不能更改值

  23. 23

    如何使用ajax将select标签的值发送到驻留在同一页面上的php

  24. 24

    SELECT列中的“如果一对多表具有值”

  25. 25

    MySQL-如果SELECT中有多个行列值,则为IF

  26. 26

    Oracle SQL请求-SELECT中的SELECT具有MAX值

  27. 27

    PHP / MySQL SELECT按字段(值1,值2)查询和排序等

  28. 28

    在DocumentDB中具有多个值的SELECT

  29. 29

    AJAX <select>值错误(有时)

热门标签

归档