alpinejs, как добавлять и удалять элементы?

Подскажите, как правильно добавлять и удалять элементы в alpinejs?
https://jsfiddle.net/eLsovrw6/2/
Проблема в том что после удаления элемента пропадает текст в других элементах.
Как это правильно сделать?

function init() {
  $('.content').summernote({
    height: 120,
    toolbar: [
      ['style', ['style']],
      ['font', ['fontname', 'fontsize', 'bold', 'underline', 'clear']],
      ['color', ['color']],
      ['para', ['ul', 'ol', 'paragraph']],
      ['table', ['table']],
      ['insert', ['link', 'lfm', 'video']],
      ['view', ['codeview', 'undo', 'redo', 'help']],
    ],
  });
}
init();
.section {
  border: 1px solid black;
  padding: 10px;
  margin-bottom: 10px;
}
.form-control {
  display: block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/cdn.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.20/summernote-lite.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.20/summernote-lite.min.css" rel="stylesheet"/>
<script>
    let sections = [
    {id: 1, title: 'title1', content: 'content1'},
    {id: 2, title: 'title2', content: 'content2'},
  ];
</script>

<div class="wrap" x-data="{data: sections, currentIndex: sections.length-1, template: {id: null, title: '', content: ''} }">
    <div class="row mb-3">
      <div class="form-group">
        <button class="btn btn-success" @click.prevent="data.push(template);currentIndex++;setTimeout(function(){init()},100);console.log(data,currentIndex);">Add</button>
      </div>
    </div>
    <template x-for="(item, index) in data" :key="index">
      <div class="row mb-3 section">
        <input type="hidden" :name="'sections['+index+'][id]'" :value="item.id">
        
        <div class="col-12">
          <div class="form-group">
            <label>Title</label>
            <input type="text" class="form-control" :name="'sections['+index+'][title]'" :value="item.title">
          </div>
          <div class="form-group mb-3">
            <label>Content</label>
            <textarea class="form-control content" :name="'sections['+index+'][content]'"
                      :value="item.content"
                      >
            </textarea>
          </div>
          <div class="mb-3">
            <div class="form-group">
              <button class="btn" @click.prevent="data.splice(index, 1);currentIndex--;console.log(data,currentIndex);">Remove</button>
            </div>
          </div>
        </div>
      </div>
    </template>

  </div>

В результате на выходе из html-формы нужен примерно такой массив:

    sections[0] = ['id'=>1, 'title'=>'sometitle1','content'=>'somecontent1']
    sections[1] = ['id'=>2, 'title'=>'sometitle2','content'=>'somecontent2']
    sections[2] = ['id'=>null, 'title'=>'sometitle3','content'=>'somecontent3']//новый элемент
   ...   

id и все остальные данные sections берутся из базы данных


Ответы (0 шт):