2015-12-03 69 views
1

我有一个下拉式选项,当数据可用时,我希望预选。然而,似乎没有真正的机会呢?更改反应组件中状态更改的选择(下拉式)选择

因为我在等待使用该值作为value=引起的选择是不可选择一个特定的值状态的变化,而使用它作为一个defaultValue=导致UI无法识别的值,除非更改元素如果用户决定使用默认选项,它将不会被传递给我试图传递给它的API。

是否有一种方法可以在安装组件之后以及更改状态后在dom准备就绪后动态更改选择框?

+0

你还在等什么?你可以使用[promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)吗? –

+0

您是否尝试过使用值中的默认值并添加onChange处理程序以允许它被选中? – enjoylife

+1

我尝试过多种管理方式,每种方式似乎都有自己不想要的效果。我已经尝试了defaultVaule和onChange的值组合,直到包括尝试所有三个变体更改以查看是否可以工作。 至于我正在等待的是DOM上存在的元素,并且基于交互或生成的数据,我可能正在等待API响应来为其他选择填充字段。我只知道那个时候我想要什么作为默认 – chris

回答

1

没有看到代码就有点困难,但是您是否尝试将值设置为React组件的状态并渲染?您也可以读取状态值而不是DropDown。

getInitialState: function() { 
     return { 
      dropDownSelection: "some default value" 
     }; 
     }, 

handleSelectionChanged: function (e) { 
    this.setState({ 
     dropDownSelection: e.target.value 
    }); 
    }, 

render: function() { 
    return (
    //... 
    <select className="form-control" value={this.state.dropDownSelection} onChange={this.handleSelectionChanged}> 
    //... 
    </select> 
    ); 
} 
+0

任何反馈@chris? – kwtangerine