Sortablejs работает с div-списком, где {{#each... }} находится внутри, а не за его пределами.

Я пытаюсь использовать sortablejs в метеоре для динамического создания списков с элементами, которые можно перемещать из списка в список.

Я установил это так meteor npm install sortablejs --save

Это работает на <div class="list-group"> с несколькими перетаскиваемыми <div class="list-group-item>когда {{#each... находится внутри списка list-div, но он не работает, если я использую {{#each... снаружи с целью программного создания нескольких элементов списка групп.

Вот пример кода {{#each... на внутренней стороне списка div-группы:

<div class="list-group" id="unassignedCensusTracts" style="cursor: move">
    {{#each censusTractsInTerritory "rec3UvlTOifMbsmnq"}}`

                    <div class="list-group-item">{{number}} ({{county}})
                        <BR> confirmed: {{confirmedQty}} |
                        unconfirmed: {{unconfirmedQty}}
                   </div>
    {{/each}}
</div>

Вот нерабочий код с {{#each... снаружи списка div-группы:

{{#each territories}}
        <div class="panel panel-default">
            <div class="panel-heading">
                <h3 class="panel-title">{{county}}{{number}}</h3>
            </div>
            <div class="panel-body">
                <div class="list-group" id="censusTractsInTerritory{{@index}}" style="cursor: move">
                    {{#each censusTractsInTerritory _id}}
                        <div class="list-group-item">{{number}} | #{{qty}}</div>
                    {{/each}}
        </div>
    </div>
    <div class="panel-footer">confirmed: {{confirmedQty}} | total: {{contactsQty}}</div>
    </div>
{{/each}}

Вот шаблон... Функция onRendered:

Template.makeTerritories.onRendered(function () {
    console.log(this)
    // debugger
    Sortable.create(document.getElementById('unassignedCensusTracts'),
        {
            group: {
                pull: true,
                put: true,
                name: 'unassignedCensusTracts'
            },
            sort: false,
            ghostClass: 'ghost'
        }
    )
    // debugger
    Sortable.create(document.getElementById('censusTractsInTerritory0'),
        {
            group: {
                pull: true,
                put: true,
                name: 'censusTractsInTerritory0'
            },
            sort: false,
            ghostClass: 'ghost',
        }
    )
    debugger
})

Обратите внимание, что браузер не приостанавливает работу отладчика, поэтому я полагаю, что второй файл Sortable.create не работает. Ошибка в консоли:

Exception from Tracker afterFlush function: meteor.js?hash=e3f53db…:932
undefined

0 ответов

Другие вопросы по тегам