سلام. من میخوام یه select box داشته باشم که توی vue پیاده سازی کردم، و option هاش رو از دیتابیس میگیرم و نمایش میدم. حالا میخوام اگر کاربر یکی از این گزینه ها رو انتخاب کرد و سیو کرد، دفعه بعدی اون گزینه به صورت دیفالت انتخاب شده باشه.
سلام خدمت شما توی لینک زیر یک نمونه کوچیک از سلکت با ویو نوشتم میتونید ببینید:
https://jsfiddle.net/4de3wo7c/
برای اینکه آپشن مد نظرتون در ابتدای کار سلکت بشه فقط کافیه موقع لود صفحه به متغیر selected مقدار دهی کنید و گزینه ای که انتخاب شده را داخلش بریزید
دفعه بعدی اون گزینه به صورت دیفالت انتخاب شده باشه.
برای اینجور کارها از استیت میتونی استفاده کنی.
موارد داخل select box رو بریز توی یه آبجکت که name داشته باشه و selected
[
{ name:"option1", selected: true },
{ name:"option2", selected: false },
{ name:"option3", selected: false }
]
کار سلکت کردن که تموم شد
شما این داده ها رو در سرور ذخیره میکنی
و دفعه بعد که برنامه اجرا بشه
این اطلاعات رو از سرور میگیری و مشخص میشه کدوم گزینه باید Select بشه
@ariaieboy
من الان اطلاعات رو توی دیتابیس دارم و میخوام اگه هنوز چیزی انتخاب نشده بود مثلا گزینه یک سلکت بشه و اگه گزینه دیگه ای رو کاربر انتخاب کرد دفعه بعدی اون گزینه سلکت شده باشه.
@ali.bayat
مواردی که توی select box هست رو به صورت آبجکت از سرور میگیرم و نمایش میدم. درواقع سوال من اینه که همچین شرطی که این زیر نمونه کدش رو قرار میدم رو توی vuejs هم میشه پیاده سازی کرد یا خیر.
نمونه کد در لاراول:
<select name="category" class="form-control">
<option value="item1" {{ $article->category == 'item1' ? 'selected' : '' }}>item1</option>
<option value="item2" {{ $article->category == 'item2' ? 'selected' : '' }}>item2</option>
</select>
@javadkarami
نگاه کنید مثالی که بالا کدش زدید کاملا لاراولی هست و من توش جایی نمیبینم که شما از ویو استفاده کرده باشید.
من داخل لینکی که بالا دادم مثال کامل زدم براتون که به چه صورت میتونید سلکت پیاده سازی کنید.
تنها کاری که توی اون مثال باید بکنید این هست که اون دوتا متغیر data و selected را مقدار دهی بکنید.
برای بخش دیتا که باید آپشن هاتون بذارید اون آیتمی هم که کاربر سلکت کرده میذارید داخل متغیر selected همین
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟