چگونه می توانیم در react در یک dropdown (کمبوباکس) داینامیک هنگامی که آیتم های کمبوباکس در حال لود شدن است، کمبوباکس را غیرفعال کنیم؟
- فرشته حقیقی 4 سال قبل سوال کرد
- شما باید برای ارسال دیدگاه وارد شوید
زمانیکه یک کمبوباکس بوسیله فراخوانی سرویس پر می شود ممکن است بخواهیم تا هنگامی که کمبوباکس پر نشده، غیرفعال باشد.برای اینکار یک state تعریف می کنیم و هنگامی که سرویس کمبوباکس در حال فراخوانی است مقدار آن را false می کنیم.
function CharacterDropDown() {
const [loading, setLoading] = React.useState(true);
const [items, setItems] = React.useState([
{ label: "Loading ...", value: "" }
]);
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 })));
setLoading(false);
}
getCity();
}, []);
return (
<select disabled={loading}>
{items.map(item => (
<option
key={item.value}
value={item.value}
>
{item.label}
</option>
))}
</select>
);
}
- فرشته حقیقی 4 سال قبل پاسخ داد
- شما باید برای ارسال دیدگاه وارد شوید