سلام دوستان
وقتی از createAttribute برای اضافه کردن onChange استفاده می کنم تابعی که بهش پاس میدم رو تو صفحه این طوری میزنه
<input type="text" name="answer[]" class="form-control" value="fghfghfgh" onchange="function () { [native code] }">
در صورتی که همین رویداد رو در فضای JSX بهش دادم درست کار می کنه و اصلا تو Inspect نشون هم نمیده.
مجبورم از متد اول استفاده کنم چون المنت بالا رو با یه دکمه اضافه می کنم.
اینطوری درست جواب میده
<button type="button" className="btn btn-success fas fa-plus-square" onClick={this.newAnswer} />
اما اینطوری کار نمی کنه
let att5_input2=document.createAttribute("onChange");
att5_input2.value=this.handleChange;
input2.setAttributeNode(att5_input2);
@sajjad.haghani
خب توی react شما این کارو نباید انجام بدید
دقیقا میخواین چیکار کنین تا راهنماییتون کنم ؟
من یه صفحه دارم که کاربر میاد سوالات چهار گزینه ای وارد و ثبت می کنه
حالا می خوام اگر پس از اینکه گزینه ها رو اضافه کرد تغییراتی روی Textbox ها ایجاد کرد این تغییرات در مقدار چک باکس هم تغییر کنه چون تو بک اند داره مقدار چک باکس رو با مقدار تکست باکس مقایسه می کنه. من سعی کردم رویداد onChange هم ست کنم که نتونستم.
خب وقتی که تکست باکس مقدارش تغییر کرد در واقع استیت هم تغییر میکنه دیگه
شما مقدارشو توی استیت دارین. از اون میتونین هرجا که میخواین استفاده میکنین
فکر می کنم اگه واسه یه گزینه بود حرف شما درست میشد .
اما چهار گزینست شایدهم کمتر یا بیشتر بشه
اونموقع یکم سخت میشه
@saman1111
@sajjad.haghani
شما باید هر کدوم از اون گزینه ها رو یه کامپوننت در نظر بگیرین، و توی کامپوننت استیت رو قرار بدین.
اینطوری هر کامپوننتی استیت خودش رو داره.
البته من درست نفهمیدم دقیقا باید چه کاری انجام بده و مشکل برنامه کجاست
درسته ، الان اومدم گزینه رو در کامپوننت دومی گذاشتم و در کامپوننت اول کاربر هرچندبار دکمه add رو کلیک میکنه همون چندبار کامپوننت دومی اضافه میشه تو یه لیست آرایه که داخل استیت قرار داره.
و خیلی خوب کار می کنه.
حالا من در کامپوننت دومی یه دکمه دیلت گذاشتم که بزنیم باید گزینه رو پاک کنه که اینجا در واقع باید اون کامپوننت خاص از بین کامپوننت ها در لیست آرایه پاک بشه.
اگه ایده ای دارین خوشحال میشم.
@saman1111
@sajjad.haghani
وقتی دلیت کردن از اون آرایه باید پاک بشه.
یه تابع برای دکمه دلیت بنویسید که این کارو انجام بده
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟