复选框中多次选择,同时单击并在Vue中移动+

时间:2019-04-03 09:18:27

标签: vue.js vuejs2

我正在使用Vuetable并将复选框显示为一列

<div slot="link-to-company" slot-scope="props">
  <input :value="props.rowData" type="checkbox" v-model="checkedIUsers" class="allCheckBoxes" />
</div>

并且我添加了方法updated()

enableGroupSelection( selector ) {
  let lastChecked = null;
  const checkboxes = Array.from( document.querySelectorAll( selector ) );

  checkboxes.forEach( checkbox => checkbox.addEventListener( 'click', event => {
    if ( !lastChecked ) {
      lastChecked = checkbox;

      return;
    }

    if ( event.shiftKey ) {
      const start = checkboxes.indexOf( checkbox );
      const end = checkboxes.indexOf( lastChecked );

      checkboxes
        .slice( Math.min( start, end ), Math.max( start, end ) + 1 )
        .forEach( checkbox => checkbox.checked = lastChecked.checked );
    }

    lastChecked = checkbox;
  } ) );
}

这也可以,但是只需要一秒钟。

当我选择一个复选框,然后选择shift时,我选择了一个范围,所有复选框均被选中,但在一秒钟之内,该范围也未被选中。我完全不知道这个问题,为什么会这样? 任何帮助将是感激的。

0 个答案:

没有答案