html 中下移代码,选中项上移下移.html

Document

*{

list-style: none;

}

li {

width: 100px;

height: 30px;

background: #ccc;

margin-top: 10px;

}

.current {

background-color: #333;

}

  • {{item.text}}

up

down

add

remove

let vm = new Vue({

el: '#app',

data: {

items: [

{

id: 1,

text: 'javascript',

show: false

},

{

id: 2,

text: 'c++',

show: false

},

{

id: 3,

text: 'java',

show: false

},

{

id: 4,

text: 'python',

show: false

}

],

current: 0,

currentid: 1

},

created() {

this.items[0].show = true

},

methods: {

up() {

if(this.items.length > 1 && this.current !== 0) {

this.items = this.sort(this.items, this.current, this.current - 1)

this.current -= 1

}

},

down() {

if(this.items.length > 1 && this.current !== this.items.length - 1) {

this.items = this.sort(this.items, this.current, this.current + 1)

this.current += 1

}

},

itemclick(v) {

let arr = this.items

this.current = arr.indexOf(v)

this.currentid = v.id

v.show = true

for (let i = 0; i < this.items.length; i++) {

let item = arr[i]

if(v.id !== item.id) {

item.show = false

}

}

},

sort(arr, idx1, idx2) {

arr[idx1] = arr.splice(idx2, 1, arr[idx1])[0]

return arr

},

add(e, id = 5) {

let self = this,

arr = this.items

let isExist = arr.find(v => {

return v.id === id

})

if(isExist) return

let obj = {

id: 5,

text: 'C#',

show: false

}

obj.show = self.items.length === 0

self.items.push(obj)

if(self.items.length === 0) {

self.currentid = obj.id

}

},

remove() {

let self = this

if(self.items.length === 1) {

self.items = []

}

self.items = self.items.filter(v => {

return v.id !== self.currentid

})

if(self.items.length === 0) return

self.currentid = self.items[0].id

self.items[0].show = true

}

},

})

一键复制

编辑

Web IDE

原始数据

按行查看

历史

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值