vue中两行代码实现全选及子选项全部选中,则全选按钮选中,反之有一个没选中,就取消选中全选按钮

every() 方法使用指定函数检测数组中的所有元素:

  • 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
  • 如果所有元素都满足条件,则返回 true。

逻辑是不是很熟悉

data: {
    list: [
        { id: '0', name: '吃饭', completed: true },
        { id: '1', name: '睡觉', completed: true },
        { id: '2', name: '打豆豆', completed: false }
      ]
}
computed : {
    toggleAll : {
        get () {
            return this.list.every(v => v.completed)
        },
        set (val) {
            this.list.map(v => v.completed = val)
        }
    }
}
Tags: