В настоящее время у меня есть код, ссылающийся на пакеты vuejs для обработки перетаскивания, и он РАБОТАЕТ.
Пакеты:
- src=//cdn.jsdelivr.net/npm/[email protected]/Sortable.min.js
- src=//cdnjs.cloudflare.com/ajax/libs/Vue.Draggable/2.19.2/vuedraggable.umd.min.js
- src=//unpkg.com/axios/dist/axios.min.js
У меня есть ряд флажков, привязанных к одной v-модели с именем выбора.
Фрагмент кода шаблона:
<div class="form-group"> // One of the labels for the checkboxes...
<div class="col-sm-2" style="text-align: center">
<label class="control-label">@lang('messages.fields.category')</label>
@include('v1.parts.tooltip', ['title' => trans('messages.admin.api.api_info_cat')])
</div>
// Other labels for checkboxes not shown
</div>
<div class="form-group"> // One of the checkboxes... others not shown
<div class="col-sm-2">
<input type="checkbox" class="form-control input-sm" v-model="choices"
id="{{ trans('messages.fields.category') }}"
value="{{ trans('messages.fields.category') }}"
name="category">
</div>
// Other checkboxes not shown
<div class="col-sm-4">
<p>
@lang('messages.admin.api.api_instr2')
</p>
// This is the portion to the right of screenshot, populated as boxes are checked
<draggable tag="ul" v-model="choices" @start="drag=true" @end="drag=false" handle=".handle">
<div class="list-group-item" v-for="choice in choices">
@{{ choice }} <i class="handle fas fa-arrows-alt pull-right"></i>
</div>
</draggable>
</div>
Значения флажков в настоящее время представляют собой удобочитаемые английские слова (хотя в настоящее время используется локализация), которые, если они отмечены, отображаются в списке, который затем можно перетаскивать для ручной сортировки. По мере установки флажков и/или сортировки списка красный текст (скриншот) с пометкой «Текст события» обновляется.
Я хочу сохранить эту функциональность (используя удобочитаемые элементы, чтобы они отображались), но я также хочу иметь набор соответствующих значений в массиве, который содержит однословные имена (также известные как имена переменных) для упрощения ссылки, ручки для локализации и другой обработки в другой области моего приложения.
Итак, я хочу, чтобы два массива оставались синхронизированными на основе действий, которые пользователь выполняет с массивом, который перетаскивается.
Я надеюсь, что то, чего я пытаюсь достичь, имеет смысл. Альтернатива — синтаксический анализ текущих английских слов — возможна, но сломается, как только будет введена локализация, потому что тогда отображаемые слова не будут английскими.
Заранее спасибо.