Jiaxin.cui
Jiaxin.cui
当前设计是支持 UUID 和 ULID 的
需要安装 `babel-plugin-syntax-jsx` 运行 ``` npm install babel-plugin-syntax-jsx --save-dev```
因为是树,如果清除根节点的选择状态,那么所有后代节点都会清除
`v-model`绑定空数组即可
你必须确认第二次打开弹出框的时候数组已经清空
这或许是v2.3之后的一个问题,因为2.3之后没有watch ids,导致双向绑定失效
目前初始化的时候绑定是有效的,但后续操作绑定是单向的,我会尽快修复这个问题
不可直接复制v2.2版本的watch代码,你可加入这段代码到 `Item.vue` 里的 watch 块里 ``` ids (val) { if (val.indexOf(this.model.id) !== -1) { this.addChecked() this.$emit('child-change', true) } else { this.delChecked() this.$emit('child-change', false) } } ```
对于树形选择框,逻辑上应该是初始化的时候绑定选择状态,而后续操作仅作为单向绑定即可,因为如果进行了双向绑定难免会引起程序混乱,因为这牵涉到半选、目录勾选状态等。 例如, 当我们勾选一个目录的时候,它的所有后代也一起被勾选了,那么问题来了 如果我们在 ids 里手动添加了一个目录的id, 那么它的所有后代应该全部选择才符合逻辑,事实上当我们添加这个 id 的时候往往没有考虑到这点,如果手动修改难免会引起程序错误。这也是树形选择框面临的一个尴尬问题。 基于此,我决定暂不修复这个问题,等有了好的思路再行修复,如果想重新绑定 ids 你必须销毁此组件重新初始化。