手动甚至触发 使用 Sortable

manual even trigger using Sortable

提问人:WdUm1980 提问时间:9/22/2023 更新时间:9/22/2023 访问量:14

问:

尝试使用 Sortable.js (https://sortablejs.github.io/Sortable/) 进行一些数据排序。这似乎对我有用。我有一个用例,我将让客户单击图标将项目移动到列表顶部。我已经编写了代码,除了少数项目外,这似乎正在工作

const list = Sortable.create(demo, {
  onStart: function (evt) {
    //
  },
  onEnd: function (evt) {
    console.log(list.toArray());
      updatePositionNumbers(gridDemo);
  },
  onSort: function (/**Event*/evt) {
    console.log(list.toArray());
  },
  onUpdate: function (evt) {
    console.log(list.toArray());
    updatePositionNumbers(gridDemo);
  }
});


const movetop = document.querySelectorAll('.to-top');
movetop.forEach(icon => {
  icon.addEventListener('click', function() {
    const item = this.closest('.showcase'); 
    demo.insertBefore(item, demo.firstChild); 
    updatePositionNumbers(demo); 
  });

});

function updatePositionNumbers(grid) {
  const showcaseActions = grid.querySelectorAll('.item');
  showcaseActions.forEach((button, index) => {
    button.innerText = (index + 1).toString();
  });
}

项目被移动到顶部,但是当我用来将项目移动到列表顶部时,会触发非偶数。有没有办法强制使用偶数,因为我需要在偶数之后调用其他系统并需要保留新的排序列表。这样,一旦我刷新页面,新的排序项目就会被完全删除并恢复到旧状态。moveToTopIcons.forEach

JavaScript 可排序JS 反应可排序-hoc

评论


答: 暂无答案