vue实现数组上移下移置顶置底

  作者:chrispy

constswapItems=(arr,index1,index2,direction)=>{if(direction==='up'){//置顶arr.unshift(arr[index1])arr.splice(index1+1,1)returnarr}if(direction==='down'){//置底arr.push(arr[index1])arr.splice(index1,1)returnarr}arr[index1]=arr

const swapItems = (arrindex1index2direction=> {

  if (direction === 'up') { // 置顶

    arr.unshift(arr[index1])

    arr.splice(index1 + 11)

    return arr

  }

  if (direction === 'down') { // 置底

    arr.push(arr[index1])

    arr.splice(index11)

    return arr

  }

  arr[index1] = arr.splice(index21arr[index1])[0]

  return arr

}




MoveUpward () { // 上移

      let dataIndex = 0

      this.tableData.forEach((itemindex=> {

        if (item === this.tableDataItem) {

          dataIndex = index

        }

      })

      if (dataIndex === 0) {

        this.$message.warning('已移动为第一条')

        return false

      }

      swapItems(this.tableDatadataIndexdataIndex - 1)

    },

    MoveDown () { // 下移

      let dataIndex = 0

      this.tableData.forEach((itemindex=> {

        if (item === this.tableDataItem) {

          dataIndex = index

        }

      })

      if (dataIndex + 1 === this.tableData.length) {

        this.$message.warning('已移动为最后一条')

        return false

      }

      swapItems(this.tableDatadataIndexdataIndex + 1)

    },


有用  |  无用

猜你喜欢