defaultValue 不会改变...下拉反应

defaultValue doesn't change... dropdown react

我有一个下拉菜单,可以从提取中获取它的选项,当我 select 和选项时,请求另一个提取以将其保存到数据库中,然后它 return 将其保存到状态中所以 selected 值现在处于状态。 但! 我的下拉列表不会更新 selected 值,即使它在数据库中正确更新。

下拉菜单:

<Form.Field className="dropdown">
   <label>{answer.answerText}</label>
   <Dropdown  
    key={ answer.name } 
    value={answer.value <!--THIS IS UPDATED AFTER SELECTION, BUT DOESN'T SHOW -->} 
    style={{paddingLeft: pad}} 
    onChange={(e) => this.blurHandler(e.target.textContent,answer)}  
    name={ answer.name } 
    disabled={answer.settings.disabled} 
    options={answer.dropdownOptions}
   />
</Form.Field>

被调用的方法。

blurHandler(e,answer) {
    var answerValue = e;
    var projectId = this.props.projectId;
    this.props.updateAnswer('/api/update-answer', 
      answer.questionId,
      projectId,
      answer._id, 
      answerValue, 
      answer.settings.answerType
      );
}

updateAnswer 所做的只是一次提取,将值保存到数据库中的项目答案中。

你的问题标题说 defaultValue 但你没有在你的 Dropdown 组件中的任何地方使用该道具。当您在 Dropdown 组件或任何 SUIR 组件中定义 value 时,这意味着您必须自己控制所有其他输入交互,并且您会失去任何SUIR 组件附带的框状态控件。在某些情况下,您可能需要这个。

我建议将 value 道具更改为 Dropdown 上的 defaultValue 道具,这应该能满足您的期望。 Dropdown 只会用该值初始化自己,但它会在 UI 中按照您期望的方式进行更改。