【问题标题】:Select value not changed on state update ReactJS状态更新 ReactJS 时选择值未更改
【发布时间】:2017-11-12 10:07:31
【问题描述】:

我不知道如何解决这个问题 已经花了一个多小时来解决这个问题 但没有一个解决方案可以解决这个问题

所以我有一个组合框(选择标记元素),我想在打开模式框时更改它的值。

我已经实现了 defaultValue 来设置组合框的值,但它不会改变。但是,在其他输入(例如票据/金额)上,它可以获取 defaultValue 并将其设置为元素。

我尝试调试 this.currState.deposit_type_id 并得到正确的值

但实际上不会改变

它总是引用默认值

我已经制作了几种这种东西,但没有一个有过这个错误

这是代码和图片的截图

这是从父组件传递数据的代码,以及我将放在组合框中的所有值的存款类型

这是我用于在打开模式框时设置默认值的代码

这是结果,它应该选择“Kas Besar”,但它却选择了“存款类型”

【问题讨论】:

标签: javascript reactjs drop-down-menu


【解决方案1】:

不确定,因为我现在无法尝试,但您可以尝试为输入的 html 添加 value 参数,如下所示:

value={ this.state.currData && this.state.currData.deposit_type_id  }

但最好从 props 中获取 currData。所以this.props.currData

【讨论】:

  • 据我所知,我们不允许使用 value 来设置 value,我们应该使用 defaultValue
  • 但是你不应该像在 componentWillMount 中那样使用 state 中的 props。在渲染函数中使用道具,在构造函数中初始化状态。
  • 但是我需要我的道具中的值来设置我的状态值。我可以在我的构造函数中这样做吗?获取道具然后在构造函数上设置状态
  • 你为什么需要它?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-19
  • 1970-01-01
  • 1970-01-01
  • 2017-06-06
  • 2016-10-02
相关资源
最近更新 更多