پاسخ داده شد
0
0

چگونه می توانیم در react  در یک dropdown (کمبوباکس) داینامیک هنگامی که آیتم های کمبوباکس در حال لود شدن است، کمبوباکس را غیرفعال کنیم؟

  • شما باید برای ارسال دیدگاه شوید
پاسخ عالی
0
0

زمانیکه یک کمبوباکس بوسیله فراخوانی سرویس پر می شود ممکن است بخواهیم تا هنگامی که کمبوباکس پر  نشده، غیرفعال باشد.برای اینکار یک 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>
  );
}
  • شما باید برای ارسال دیدگاه شوید
نمایش 1 نتیجه
پاسخ شما
اگر قبلاً حساب کاربری دارید با پر کردن فیلد های زیر یا به عنوان مهمان ارسال کنید.
نام*
ایمیل*
وب سایت