xm-select是一款比较好用的组件,但是仍然不是很完美,对于一些需求紧靠配置无法得到满足,就比如说:选中当前分类及其所有子分类:
从上面两个 官方例子截图可以看出:在严格父子结构模式下;选中父级时只选中了所有的最低级,并没有连同父级一起选中;而非严格父子结构时,那就选中哪个就是哪个,并不能满足我们上面的需求;经过多次试验,最终让我另辟蹊径,想出了解决方案。
就是使用on监听选择;从上面截图可以看出,我使用了非严格父子结构,原因是可以获取到当前点击节点的数据,使用严格父子结构无法获取父节点数据,所以不可行;
在获取点击节点的数据后,通过后台配合获取当前点击节点的所有子节点以及父级节点,并以数组的形式返回重新赋值,以此来实现我们的需求
就如上图,我选中了一个二级分类 发酵乳和风味发酵乳,就会通过on监听自动获取它下面的所有子分类以及它的父类
但是还是有一点小瑕疵,就是当把最低级的两个分类取消勾选时,二级和一级分类不会自动取消勾选。
以上就是我的处理方法,如果大家有什么更好的解决方案,欢迎留言讨论!!