چگونه می توانیم در react یک dropdown یا کمبوباکس را بوسیله فراخوانی یک سرویس پر کنیم؟
- فرشته حقیقی 4 سال قبل سوال کرد
- شما باید برای ارسال دیدگاه وارد شوید
برای اینکار باید خروجی سرویس را در یک state قرار دهیم.فرض کنیم یک کمبوباکس داریم که می خواهیم با نام شهرها پر شود.
function CharacterDropDown() {
const [items, setItems] = React.useState([]);
React.useEffect(() => {
async function getCity() {
const response = await fetch("https://test.co/city");
const body = await response.json();
setItems(body.results.map(({ name }) => ({ label: name, value: name })));
}
getCity();
}, []);
return (
<select>
{items.map(item => (
<option
key={item.value}
value={item.value}
>
{item.label}
</option>
))}
</select>
);
}
- فرشته حقیقی 4 سال قبل پاسخ داد
- شما باید برای ارسال دیدگاه وارد شوید