MotionHighlight
ডেটা থেকে ট্যাব, সেগমেন্টেড কন্ট্রোল বা নেভিগেশন, একটি হাইলাইটসহ যা বাছাইয়ের দিকে যায়।
ওয়েবReact Nativeবাছাই আর পেজিং
চালিয়ে দেখুন
উদাহরণ প্রস্তুত হচ্ছে…
সবচেয়ে ছোট ব্যবহার
<MotionHighlight
items={['Overview', 'Activity', 'Settings']}
value={tab}
onValueChange={setTab}
hover
/>;এটি আপনার হয়ে যা সামলায়
- একটি হাইলাইট আইটেমের মধ্যে সরে আর আকার বদলায়;
highlightClassNameদিয়ে স্টাইল করুন। - আইটেম আসে
itemsথেকে, keygetKeyথেকে আর লেবেলrenderItemথেকে। hoverএটিকে পয়েন্টারের পিছু নেওয়ায় আর বাছাইয়ে ফেরায়।- আইটেম কয়েক সারিতে ভাঙতে পারে আর হাইলাইট সেগুলোর সঙ্গে চলে।
- ফন্ট লোড আর লেআউট পরিবর্তন নিজে থেকে আবার মাপা হয়।
যেখানে ব্যবহার করবেন
- পাতার ট্যাব।
- ফিল্টার বার।
- সেটিংস ফর্মে সেগমেন্টেড কন্ট্রোল।
Props
| Prop | টাইপ | ডিফল্ট | বিবরণ |
|---|---|---|---|
items | readonly T[] | —আবশ্যক | আপনার ডেটা অ্যারে। |
value | key | null | —আবশ্যক | হাইলাইট করা আইটেমের key; null হাইলাইট লুকায়। |
onValueChange | (key, item) => void | আইটেম চাপলে key আর আইটেম নিয়ে চলে। | |
getKey | (item) => string | number | item.id | আইটেমের জন্য অনন্য, স্থির key ফেরত দেয়। ডিফল্ট item.id, বা স্ট্রিং ও সংখ্যার জন্য আইটেম নিজেই। |
renderItem | (item, { selected, index }) => ReactNode | item.label | আইটেম আঁকে; বাছাই করা কি না তা পায়। |
hover | boolean | false | আইটেমের ওপর পয়েন্টারের পিছু নেয় আর সরে গেলে value-তে ফেরে (ওয়েব)। |
itemAs | element | 'button' | প্রতিটি আইটেমের এলিমেন্ট। |
itemClassName | string | প্রতিটি আইটেম এলিমেন্টের class; itemStyle তার inline স্টাইল ঠিক করে। | |
highlightClassName | string | হাইলাইটের class; highlightStyle তার inline স্টাইল ঠিক করে। | |
transition | Transition | spring | timing বক্ররেখা { duration, easing } বা স্প্রিং { tempo: 'spring', spring }। বাধা পেলে স্প্রিং নিজের গতি ধরে রাখে। |
অন্য props রেন্ডার হওয়া এলিমেন্টে যায়, তাই className, style আর ইভেন্ট হ্যান্ডলার স্বাভাবিকভাবে কাজ করে।
ওয়েব আর React Native
প্রতিটি আইটেম ডিফল্টভাবে button হিসেবে রেন্ডার হয় (itemAs বদলায়); চাপলে onValueChange(key, item) কল হয়।
React Native-এ আইটেম Pressable; অবস্থান নেটিভ driver-এ চলে আর আকার JavaScript-চালিত ভেতরের ভিউতে।