javascript - 如何判断哪个 Card 或 SelectField 正在更改

标签 javascript reactjs material-design material-ui

我有一个 Material UI 卡列表,每张卡内都有一个选择列表。

  const ads = this.props.ads;
  let adsItems = ads.map((c, i) =>
     <div key={ads[i].adid}>
      <Card>
        <CardHeade>
          <SelectField
            id={String(ads[i].adid)}
            value={ads[i].status}
            onChange={this.handleChange}>
              <MenuItem key={1} value={`Idle`} primaryText={`Idle`} />
              <MenuItem key={2} value={`Sent`} primaryText {`Sent`} />
          </SelectField>
        </CardHeader>
      </Card>
     </div>
  );

现在,当选择 MenuItem 时,我想知道哪个 CardselectField 已更改。如果我可以简单地将 SelectField id 传递到 onChange={this.handleChange} 中,在本例中,id 为 ads[i].adid 这个问题很简单就能解决。

我查看了 Material UI 文档,甚至它们的示例显示,当您选择一个 MenuItem 时,所有 SelectField 都会更新为相同的值。

有什么方法可以知道哪个 CardSelectField 正在更改,这对我有很大帮助。

谢谢

最佳答案

您可以像您所说的那样简单地传递 id 来更改事件。

onChange={(event) => this.handleChange(event, ads[i].adid)}

如果您确实像下面这样,它将不起作用,因为您将执行它而不是将其作为 Prop 传递。

// THIS WON'T WORK
onChange={this.handleChange(ads[i].adid)}

关于javascript - 如何判断哪个 Card 或 SelectField 正在更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46507797/

相关文章:

android - 使用 Android L 动画在 Activity 之间切换

javascript - 单选按钮所在的颜色单元格并被选中,但单击时未选中

javascript - 将 class= 属性添加到已定义的 <svg>

node.js - socket.io使用相同的套接字ID连接

reactjs - 如何在 react 之外访问 redux 中的当前存储状态?

android - 无法使用 Material 组件库设置按钮的背景颜色

android - 如何将新 Material BottomAppBar 实现为 BottomNavigationView

javascript - 如何通过 Angular-cli@webpack 使用 Django

javascript - 为什么我们需要将 e.target.name 放在方括号 [] 中?

javascript - ECMAScript 中的 "positive"和 "negative"是什么意思? +0 和 -0