关于前端:数组元素上下移动

6次阅读

共计 601 个字符,预计需要花费 2 分钟才能阅读完成。


        /**
         * 上、下挪动
         * @param {number} code 下标
         * @param {number} dir  1 上移  0 下移
         */
        onMove(code, dir) {let moveComm = (curIndex, nextIndex) => {
                let arr = this.commodityInfo
                arr[curIndex] = arr.splice(nextIndex, 1, arr[curIndex])[0]
                return arr
            }
            this.commodityInfo.some((val, index) => {if (index === code) {if(val.primarySku) { // 判断是否为主样式
                        this.$message.warning('主样式不能够挪动!')
                    } else {if (dir === 1 && index === 1) {this.$message.warning('已在顶部!')
                        } else if (dir === 0 && index === this.commodityInfo.length - 1) {this.$message.warning('已在底部!')
                        } else {
                            let nextIndex = dir === 1 ? index - 1 : index + 1
                            this.commodityInfo = moveComm(index, nextIndex)
                            this.$message.success('已挪动!')
                        }
                    }
                    return true
                }
                return false
            })
        },

正文完
 0