有没有类似的案例,或者思路?怎么控制?
![]() | 1 Cacivy 2018-06-26 15:44:45 +08:00 computed |
![]() | 2 lovedebug 2018-06-26 16:20:25 +08:00 父组件传值或者传事件 简单的 computed,watch,eventbus,复杂的 vuex 一个兼职前端的想法 |
3 CDL 2018-06-26 16:25:30 +08:00 这不叫 checkbox,这叫 tree |
![]() | 4 oaix 2018-06-26 17:35:08 +08:00 1 楼的方法可以, 注意 computed 支持 setter, 你可以参考下这个 demohttps://jsfiddle.net/eywraw8t/111788/ |
5 reginald 2018-06-26 20:22:40 +08:00 via Android element checkbox 官方文档样例里面有 |
![]() | 6 standbill 2018-06-26 23:21:14 +08:00 |
7 Roycom 2018-06-26 23:47:36 +08:00 计算属性应该不难 |
![]() | 11 standbill 2018-06-27 22:03:17 +08:00 via Android 需要做递归组件。最内层的 选框有初始值 v。 大概就是这样。 checked:{ get(){ if(this.children&&this.children.length>0){ return this.children.filter(v=v.checked).length === this.children.length } else { return this.v } // 或者 every 也行。 } set(value){ // if(this.children&&this.children.length>0) { this.children.forEach(v=>{ v.checked = value }) } else { // 最内层了 this.v = value } } } 其他方法也有。 手动写递归赋值什么的,不依靠依赖收集。 还可以用 store 的 getters 返回函数,进行计算属性的依赖收集。 |