背景: 继之前的el-tree衍生出的新问题,最开始我给后台传树的id时是这样的: 然后后来后台让我把父节点也加上,所以我这样: const a = this.$refs.tree.getHalfCheckedKeys();//获取半选节点 const b = this.$refs.tree.getCheckedKeys(); this.form.permission_ids = a.concat(b);//拼接 本来开心的觉得我的bug改完了,但是当我获取值的时候也全部获取了,所以我传出去的时候树长这样: 然而获取的时候树就变成了这样: 因为默认el-tree父子是强关联的,所以我只要获取到父节点,子节点就会都选上,但是但是 这显然不对呀… 思路: 原本我直接想把父子节点关联取消,然而它会变成这样: 这合理吗?(这很合理!) 在mentor的一顿教育批评后,突然悟了,可以在获取的时候给它强绑定取消,在编辑的时候给它加上强绑定 实现代码: 在树上加上这个属性 :check-strictly="isstrict" 然后: watch: { creTagVisible: {//dialog的 :visible属性变量名 handler(isshow) { this.$nextTick(() => { this.isstrict = !isshow; }); } } }, 我将违背我的天性,忤逆我的本能,永远爱你