Javascript 如何在react js中的get筛选器中设置.val()?
我正在尝试从api获取多个用户,在选择选项中,我可以选择多个用户,但无法获取数据,因此如何设置Javascript 如何在react js中的get筛选器中设置.val()?,javascript,reactjs,api,fetch,Javascript,Reactjs,Api,Fetch,我正在尝试从api获取多个用户,在选择选项中,我可以选择多个用户,但无法获取数据,因此如何设置.val()在const selctec=..选项中,我正在尝试获取数据,但我执行的过程中,我只能获取一个数据,在我的api中,我可以选择像user=1,2,3,4这样的用户,所以我也希望在react js中获取数据,所以请帮助我 getData = async e => { try { // alert("Your favorite flavor is: " + this.s
.val()在const selctec=..
选项中,我正在尝试获取数据,但我执行的过程中,我只能获取一个数据,在我的api中,我可以选择像user=1,2,3,4
这样的用户,所以我也希望在react js中获取数据,所以请帮助我
getData = async e => {
try {
// alert("Your favorite flavor is: " + this.state.value);
const edd = e.target.elements.edd.value;
const selectOptions = e.target.elements.selectOptions.value; // And I want to Select .() in this handler that i can fetch multiple user
const modee = e.target.elements.modee.value;
const from = e.target.elements.from.value;
const to = e.target.elements.to.value;
e.preventDefault();
const res = await fetch(
`${config.apiUrl.report}?date__lte=${to}&date__gte=${from}&user=${selectOptions}&mode=${modee}&electric_bike=${edd}`
);
const movies = await res.json();
console.log(movies);
this.setState({
movies
});
} catch (e) {
console.log(e);
}
};
那么您是在尝试允许用户选择多个选项,然后用逗号连接它们的值以传递到API参数中 如果为HTML select元素赋予
multiple
属性,则用户可以在选择选项时按住shift键或command/ctrl键来选择多个选项。从这里开始,您需要迭代所有选项,并记下要将它们连接到字符串中选择的选项。大概是这样的:
const selections = [...e.target.elements.selectOptions.options].filter(opt => opt.selected);
const selectedValues = selections.map(opt => opt.value);
const selectedString = selectedValues.join(',');
当然,您可以将它们组合成一行或两行,我只是添加了所有中间值,以使过程清晰明了,便于演示:)