Vue点击一个高亮,与点击多个高亮

1.一共三个模式:单桌,拼桌,并桌,单桌只能选一个桌子,拼桌或者并桌可以选两个

2.单桌模式下:
clipboard.png
点击桌位可以只可以选择一个,并高亮;实现代码如下:

-1- template部分
clipboard.png

-2- 事件部分
在点击事件中,将currentLi设置成tableId即可

3.问题:这样做的话,拼桌或者并桌模式下,不知道怎么才能点击两个,并高亮这样的效果?
clipboard.png

阅读 5.6k
2 个回答
<li @click="selectPos(tb.tableId)" :data-tableid="tb.tableId" :class="{active: isActive(tb.tableId)}"></li>
data () {
  return {
    tb: [...],
    mode: '单桌',
    selected: []
  }
},
methods: {
  select(tableId) {
    int max = this.mode == '单桌' ? 1: 2
    if(max > this.selected.length) { return }
    this.selected[tabledId] = active
  },
  isActive(tableId) {
    return this.selected[tableId]
  }
}

拼桌的时候 判断 selected includes 这一桌就可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题