defaultValue不变...下拉反应

时间:2018-07-20 09:24:14

标签: javascript reactjs dropdown semantic-ui semantic-ui-react

我有一个下拉列表,可从获取中获取它的选项,当我选择并选项时,将请求另一个获取以将其保存到数据库中,然后将其返回到状态,因此所选值现在处于该状态。 但! 即使下拉列表中的值正确更新,我的下拉列表也不会更新所选值。

下拉列表:

<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所做的只是将值保存到数据库中项目答案中的操作。

1 个答案:

答案 0 :(得分:1)

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

我建议将value上的defaultValue道具更改为Dropdown上的Dropdown道具,这样应该可以给您带来期望。 import org.apache.spark.sql.hive.HiveContext import sqlContext.implicits._ val hiveObj = new HiveContext(sc) val df = hiveObj.sql("select * from table.database_name") 只会使用该值初始化自身,但会在UI中按您期望的方式进行更改。