ReactJs select,没有显示值
ReactJs select, no value displayed
我正在学习 reactJs 并尝试使用 react-select。
html:
<div class="col-md-2">
<div class="well">
<h1>h1</h1>
<div id="countriesSelect"></div>
<div id="exp"></div>
<!-- Scripts -->
<script src="/js/bundle.js"></script>
</div>
</div>
app.js:
var React = require('react');
var ReactDOM = require('react-dom');
var Select = require('react-select');
const getOptions = (input) => {
return fetch('//api.local/api/countries') //users/${input}.json
.then((response) => {
return response.json();
}).then((json) => {
var data = [];
json['data'].forEach(function(item) {
data.push({value:item.attributes.slug,label:item.attributes.title})
});
return { options: data };
});
}
ReactDOM.render(
<Select.Async
name="countries"
loadOptions={getOptions}
/>,
document.getElementById('countriesSelect')
);
var options = [
{ value: 'one', label: 'One' },
{ value: 'two', label: 'Two' }
];
ReactDOM.render(
<Select
name="form-field-name"
label
options={options}
/>,
document.getElementById('exp')
);
app.js 到 bundle.js -> browserify -t [ babelify ] public/js/app.js -o public/js/bundle.js
结果:
问题 - 当尝试 select 从下拉列表 中选择某些内容时,select 中未显示任何值。始终看到 Select... 标签。
看起来您缺少 Select 组件上的 value 道具,并且还需要一个 onChange 道具来处理您单击下拉选项时的情况。我强烈建议制作你自己的 select 组件来包装 react-select 库,这样你就可以传递自定义道具并创建与 react-select 库一起使用的自定义函数。
var value;
// 初始化值变量
function updateValue(selectVal) {
value = selectVal // update value variable to new value
}
<Select
name="form-field-name"
label
value=value // set value to value
onChange= updateValue
options={options}
/>
那应该可以让你到达你需要去的地方
我正在学习 reactJs 并尝试使用 react-select。
html:
<div class="col-md-2">
<div class="well">
<h1>h1</h1>
<div id="countriesSelect"></div>
<div id="exp"></div>
<!-- Scripts -->
<script src="/js/bundle.js"></script>
</div>
</div>
app.js:
var React = require('react');
var ReactDOM = require('react-dom');
var Select = require('react-select');
const getOptions = (input) => {
return fetch('//api.local/api/countries') //users/${input}.json
.then((response) => {
return response.json();
}).then((json) => {
var data = [];
json['data'].forEach(function(item) {
data.push({value:item.attributes.slug,label:item.attributes.title})
});
return { options: data };
});
}
ReactDOM.render(
<Select.Async
name="countries"
loadOptions={getOptions}
/>,
document.getElementById('countriesSelect')
);
var options = [
{ value: 'one', label: 'One' },
{ value: 'two', label: 'Two' }
];
ReactDOM.render(
<Select
name="form-field-name"
label
options={options}
/>,
document.getElementById('exp')
);
app.js 到 bundle.js -> browserify -t [ babelify ] public/js/app.js -o public/js/bundle.js
结果:
问题 - 当尝试 select 从下拉列表 中选择某些内容时,select 中未显示任何值。始终看到 Select... 标签。
看起来您缺少 Select 组件上的 value 道具,并且还需要一个 onChange 道具来处理您单击下拉选项时的情况。我强烈建议制作你自己的 select 组件来包装 react-select 库,这样你就可以传递自定义道具并创建与 react-select 库一起使用的自定义函数。
var value;
// 初始化值变量
function updateValue(selectVal) {
value = selectVal // update value variable to new value
}
<Select
name="form-field-name"
label
value=value // set value to value
onChange= updateValue
options={options}
/>
那应该可以让你到达你需要去的地方