Parastoo Ebrahimi
4 سال پیش توسط Parastoo Ebrahimi مطرح شد
4 پاسخ

تغییر مولتی سکلت به سینگل سلکت

سلام. این لینک برنامه ای هست که الان چند انتخابی هست چک باکس هاش و میخوام اون رو تک انتخابی کنم
از تابع splice کمک گرفتم تغییری نکرد
ممنون میشم کمکم کنید که سینگل سکلت بشه
https://codesandbox.io/s/react-checkbox-tree-example-5wpck?file=/src/components/Widget.js
@mohsenbostan
@hesammousavi


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش مطرح شد
0

دقیقا این splice باید چیکار کنه ؟


Parastoo Ebrahimi
تخصص : front-end developer
@parastooebrahimi 4 سال پیش مطرح شد
0

باید هر چیزی توی checked ذخیره شده رو پاک کنه و فقط checked جدید رو بزاره داخل checked. برای همین از splice استفاده کردم تا از 0 تا checked.lenght رو پاک کنه و checkedای که تازه کلیک شده رو بزاره داخل checked.

onCheck={checked =>
          this.setState({ checked: checked.splice(0, checked.length, checked) })
        }

در کل میخوام این کامپوننت رو یه جوری تغییر بدم تا سینگل سلکت بشه . الان مولتی سلکت هست.
@hesammousavi
@mohsenbostan


Parastoo Ebrahimi
تخصص : front-end developer
@parastooebrahimi 4 سال پیش مطرح شد
0

حلش کردم با این تغییرات
https://codesandbox.io/s/react-checkbox-tree-example-1grwe?file=/src/components/Widget.js:846-850
حالا روی parent که کلیک میشه همه تیک میخورن که نمیخوام این اتفاق بیفته میخوام سینگل سلکت باشه کلا...
@hesammousavi
@mohsenbostan


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش مطرح شد
1

میتونید این کد رو اول check قرار بدید

 if(checked.length > 1) checked = [];

که با المنت پدر نشه همه رو چک کرد


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام