سلام
اول عرض کنم که من از دوره داخل راکت متاسفانه استفاده نمیکنم و از دوره ساده ای استفاده میکنم در زمینه لایووایر که این مبحث داخلش توضیح نداده شده پس ممنون میشم توضیح بدید :
قبلا سایتی طراحی کردم و در این مدت لایووایر را یادگرفتم . حالا دارم پنل مدیریت اون سایت رو با لایووایر پیاده سازی میکنم . در بخش ارسال مطلب مشکلی نداشتم و از 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 ها در قسمت ویرایش مطالب اعمال نمیشوند ؟ چی کنم ؟
@ajdar9667
یعنی به نوعی ابتدا بعد از کلیک روی دکمه ویرایش یک متد اجرا بشه که این مقدار ها رو برابر کنه با مقدار های مورد نظر و بعد ... ؟؟؟
شاید پاسخ شما همینجا باشد