iview tree控件的checked属性值无法更改

发布时间 2023-07-13 17:46:25作者: Ali枝

问题:iview tree控件的checked属性值无法更改;

解决要点:

1、需要在最开始绘制tree时就给其数据添加checked等属性;

2、tree组件是父子联动的,如果需要把子级的checked的值改为false,则需要将父级的checked也改为false。

因为与tree控件绑定的数据中 父级的checked为true,所以子级的checked的值无法改为false。需要将父级的checked也改为false。

解决详情:

树形结构的数据是从后端返回的,所以开始的时候是没有设置checked属性的。而是在获得tree型数据时再将其赋值进去为每项都为false。

 因为选中是手动操作的,但是需要用代码使其控制选中后取消选中的操作,如下图:

虽然这样让数据的checked值变了,但是并没有渲染到页面上,所以页面上还是选中的样子,但是如果再点击一下父级的expand,关了再开就可以渲染成功

导致这样的原因就是我们是在获取数据后才赋值的checked,所以我们需要在最开始绘制tree时就给其添加checked等属性。

 

还有一个问题就是tree组件是父子联动的,如果需要把子级的checked的值改为false,则需要将父级的checked也改为false。

这时候我们可以使用一个组件的属性:check-strictly。使其不相互关联