محمد
10 ماه پیش توسط محمد مطرح شد
3 پاسخ

ساخت تقویم کاری

سلام , میخواستم در ری اکت یک تقویم بزرگ روی صفحه باشه بعد یوزر وقتی روی هر روز کلیک میکنه , یه اینپوت براش باز بشه که بتونه یک کاری رو برای اون روز بخصوص از تقویم ثبت کنه و اون فیلد از تقویم رنگش عوض بشه و یه بریف از کاری که ثبت کرده هم روی اون فیلد از اون روز نشون داده بشه و وقتی حالا روی اون روز ثبت شده کلیک کرد حالا یه کارت باز بشه و همه اطلاعات اون روز رو که کاربر ثبت کرده توی اون کارت به طور کامل بتونه ببینه. (کارهایی که ثبت کرده رو)
ممنون میشم ایده هاتون رو بگید


ثبت پرسش جدید
رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 10 ماه پیش مطرح شد
محمد
@mo-hammad 10 ماه پیش آپدیت شد
0

@Raymond
سلام , ممنون بابت لینک , بنا به دلایلی نیاز دارم صفر تا صدش رو خودم بنویسم . البته لاجیک کار رو درآوردم یه جاهایی مشکل داشتم . مثلا من الان بر اساس یه فرمول با new Date() میام تعداد روز های یک ماه رو میگیرم که به این شیوه میتونم بر مبنای اون عدد یک ارایه تشکیل بدم و روش map بزنم و کل تقویم رو جنریت کنم که خب داینامیک خواهد بود و مشکلی نداره . اما مسئله اینجاست که اگر من بخوام برای هر روز کلیک شده یک todo یا همون تسک ثبت کنم و اون خونه مثلا به رنگ ویژه ای در بیاد و یه بریف از کار هم توش بیاد , خوب بهترین راه که به ذهن میرسه اینه که به جای رندر کردن روز ها در رندرلاجیک توسط اون عدد تعداد روزها مثلا : map.[(عددی که بالا تر گفتم بدست میارم میره اینجا)Array ...]
و الی آخر , به جای اینکار , بیام در یک فانکشن برای هر روز یک آبجکت جنریت کنم مثلا به صورت {id: , year:' , month: , day:, task:}
و بیام اینا رو توی یه آرایه ای آز آبجکت ها در یک استیت ذخیره کنم . خب اینجوری دیگه خیلی راحت میشه به این ها دسترسی داشت و به اصلاح manipulate کردشون . ولی این راه کمی منو گیج میکنه! چون فرض کنید یوزر ماه فعلی رو تغییر بده یا سال رو تغییر بده , خب روز های جدید بر مبنای تغییر یوزر جنریت میشه و خب در کنترل استیت من اینجا گیج شدم که چه کنم دچار کانفلیکت و یا حتی ذخیره آبجکت های غیر لازم از روزهایی که برای ماه جاری نیست و تسکی هم نداره نشم و خیلی کنترل های دیگه هم باید بشه احتمالا در این حالت .

من اومدم یه کار دیگه کردم که نمیدونم اصلا درست هست یا نه . با همون روش map.[(عددی که بالا تر گفتم بدست میارم میره اینجا)Array ...] رندر میکنم روزها رو , اما توی div اینها من یه دیتاست میزارم که داده توش بر مبنای مثلا year+month+day هست که خب یونیک میشه برای همون روز از ماه از سال . حالا تو یه کامپوننت جدا که برای تسک و همون todo هست میام تسکی که ثبت میشه رو میریزم تو یه استیت که آرایه ای از آبجکت هاست , و البته id این تسک ها رو برابر همون id دیتا ست div ها میزارم , یعنی اون دیتا ست ها رو وقتی رو هر تاریخ یا همون div کلیک میشه میریزم تو یدونه استیت , حالا معلوم میشه رو کدوم روز کلیک شده , حالا تسکی که میخوام ثبت کنم هم ایدیش برابر میشه با همین استیت id که با کلیک روی اون تاریخ گرفتم .
حالا هر کاری بخوام بکنم با مقایسه id تسک ها و دیتاست تقویم میتونم بکنم که مثلا هر جا این دوتا برابر بود اون خونه رو مثلا قرمز کن یا هر چی . من فعلا همچین کلکی زدم که نمیدونم اصلا کار درستی هست یا خیر


محمد
@mo-hammad 10 ماه پیش مطرح شد
0

در ادامه پر حرفی های پست قبلی ام , این ویدئو که گرفتم شاید کامل منظورم رو برسونه که الان بر چه اساسی دارم عمل میکنم . (فعلا رو لاجیک دارم کار میکنم به ظاهر ش کاری ندارم ) ولی همونطور که گفتم نمیدونم کاری که میکنم درست هست یا نه , فارق از اینکه داره خوب جواب میده , تو پست قبلی کامل توضیح دادم بابتش

https://www.veed.io/view/738caa1d-802f-4bbd-b524-4794c158f8c8?panel=share


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

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