یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دورهها
استفاده از تخفیفهاسلام
اول عرض کنم که من از دوره داخل راکت متاسفانه استفاده نمیکنم و از دوره ساده ای استفاده میکنم در زمینه لایووایر که این مبحث داخلش توضیح نداده شده پس ممنون میشم توضیح بدید :
قبلا سایتی طراحی کردم و در این مدت لایووایر را یادگرفتم . حالا دارم پنل مدیریت اون سایت رو با لایووایر پیاده سازی میکنم . در بخش ارسال مطلب مشکلی نداشتم و از modal بوت استرپ استفاده کردم و همه چی انجام شد . در بخش حذف مطلب دکمه ای رو قرار دادم و به آن wire:click دادم و همه چی درست بود .
حالا دارم بخش ویرایش رو پیاده سازی میکنم . باز هم از modal بوت استرپ استفاده میکنم . به input ها value دادم اما value ها اعمال نمیشه !!!
با کمی تحقیق فهمیدم که به خاطر دادن wire:model.defer="نام اینپوت" به input ها است . اما متوجه نشدم برای این عملیات ویرایش باید چه کنم ؟
ممنون میشم راهنمایی کنید !!!
این هم کد ها :
فایل ShowArticle.php :
<?php
namespace App\Http\Livewire;
use App\Models\Article;
use Livewire\Component;
class ShowArticle extends Component
{
public $Article;
public $title,$body,$img,$tags;
protected $listeners= [
'article_create',
];
public function mount()
{
$this->fill([
'Article' => Article::orderby('id','desc')->get()
]);
}
public function article_create(){
$this->fill([
'Article' => Article::orderby('id','desc')->get()
]);
}
public function create(){
Article::create([
'title' => $this->title,
'body' => $this->body,
'tags' => $this->tags,
'img' => $this->img,
]);
$this->reset('title','body','img','tags');
$this->emit('article_create');
}
public function delete(Article $article){
$article->delete();
$this->emit('article_create');
}
public function render()
{
return view('livewire.show-article');
}
}
فایل show-article.blade.php :
<div>
<button class="btn btn-primary" style="margin-right: 20px;margin-bottom: 20px;font-size: 20px;" type="button" data-bs-toggle="modal" data-bs-target="#exampleModal">ارسال نوشته</button>
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">اطلاعیه جدید</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<span>نام نوشته</span><input wire:model.defer="title" type="text" name="title" class="form-control">
<br>
<span>آدرس تصویر نوشته</span><br><input wire:model.defer="img" type="text" name="img" class="form-control" style="display: inline-block;">
<br>
<br>
<span>متن نوشته</span>
<br>
<textarea wire:model.defer="body" id="editor" name="body" class="form-control"></textarea>
<br>
<br>
<span>پرچسب ها</span><input wire:model.defer="tags" type="text" name="tags" class="form-control">
<br>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-bs-dismiss="modal">انصراف</button>
<button wire:click="create()" type="button" class="btn btn-primary" data-bs-dismiss="modal">ذخیره</button>
</div>
</div>
</div>
</div>
<table class="table table-light" style="width: 100%;text-algin: center;">
<tbody>
<tr>
<td>نام</td>
<td>زمان ثبت</td>
<td>عملیات ها</td>
</tr>
</tbody>
@foreach ($Article as $article)
<tr>
<th scope="col">{{$article->title}}</th>
<th scope="col">{{$article->created_at}}</th>
<th scope="col">
<button class="btn btn-primary" type="button" data-bs-toggle="modal" data-bs-target="#edit{{$article->id}}Modal">ویرایش</button>
<div class="modal fade" id="edit{{$article->id}}Modal" tabindex="-1" aria-labelledby="edit{{$article->id}}ModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="editModalLabel">ویرایش {{$article->title}}</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<span>نام نوشته</span><input wire:model.defer="title" type="text" name="title" class="form-control" value="{{$article->title}}">
<br>
<span>آدرس تصویر نوشته</span><br><input wire:model.defer="img" type="text" name="img" class="form-control" style="display: inline-block;" value="{{$article->img}}">
<br>
<br>
<span>متن نوشته</span>
<br>
<textarea wire:model.defer="body" id="editor" name="body" class="form-control">{{$article->body}}</textarea>
<br>
<br>
<span>پرچسب ها</span><input wire:model.defer="tags" type="text" name="tags" class="form-control">
<br>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-bs-dismiss="modal">انصراف</button>
<button wire:click="create()" type="button" class="btn btn-primary" data-bs-dismiss="modal">ذخیره</button>
</div>
</div>
</div>
<button wire:click="delete({{$article->id}})" type="submit" class="btn btn-danger">حذف</button>
</th>
</tr>
@endforeach
</table>
</div>
باز هم تکرار میکنم . value ها در قسمت ویرایش مطالب اعمال نمیشوند ؟ چی کنم ؟
سلام اصلا نیاز به value نیست شما وقتی اتریبیوت لایووایر رو به تگ های اینپوت میدین مقدار اون هارو در یک متغیر پابلیک میریزین ایندفعه شما باید مقداری رو که میخاید ویرایش کنید در کنترلر لایووایر به اون متغیر پابلیک پاس بدین و بعد نمایش داده میشه و تمام
سلام اصلا نیاز به value نیست شما وقتی اتریبیوت لایووایر رو به تگ های اینپوت میدین مقدار اون هارو در یک متغیر پابلیک میریزین ایندفعه شما باید مقداری رو که میخاید ویرایش کنید در کنترلر لایووایر به اون متغیر پابلیک پاس بدین و بعد نمایش داده میشه و تمام
@ajdar9667
یعنی به نوعی ابتدا بعد از کلیک روی دکمه ویرایش یک متد اجرا بشه که این مقدار ها رو برابر کنه با مقدار های مورد نظر و بعد ... ؟؟؟
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟