2015-12-03 101 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