我正在動態填充我的下拉選單,有時我最終會在下拉選單中包含一個元素。對于多個元素,沒有問題,onChange()我的 select 標簽完美無缺。但是,當只有 1 個元素時,onChange()不會呼叫。我怎么解決這個問題?謝謝!
getOptions(){
var dynamicOptions = this.props.something
const returnedOptions = []
for(int i=0; i< dynamicOptions.length;i ){
returnedOptions.push(<option value = {dynamicOptions[i]}>something</option>
}
return dynamicOptions;
}
return(
<select onChange=this.onchangemethod, value = {something}>
{this.getOptions()}
</select>
)
uj5u.com熱心網友回復:
如果用戶想選擇多個選項中的第一個選項,您會遇到同樣的問題,因為它將是已經選擇的選項,用戶不需要重新選擇它。
一種解決方法是始終使用占位符文本指定“空”選項
<select onChange={this.onchangemethod}>
<option value="">Please choose an option</option>
{this.getOptions()}
</select>
這樣,您將始終至少有兩個選項,用戶必須打開并選擇一個。
另一種方法是預先選擇第一個選項,以便在用戶不操作的情況下再次選擇一個選項。
for(int i=0; i < dynamicOptions.length; i ) {
const optionProperties = {value: dynamicOptions[i]};
if (i === 0) { optionProperties.selected: true };
returnedOptions.push(<option {...optionProperties}>something</option>);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/391783.html
標籤:javascript html 反应 网络
