我有一个下拉列表,可从获取中获取它的选项,当我选择并选项时,将请求另一个获取以将其保存到数据库中,然后将其返回到状态,因此所选值现在处于该状态。 但! 即使下拉列表中的值正确更新,我的下拉列表也不会更新所选值。
下拉列表:
<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所做的只是将值保存到数据库中项目答案中的操作。
答案 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中按您期望的方式进行更改。