发了一个 el-tree + el-checkbox-group 的bug

element-plus .

  1. 建立组件A,里面放一个 el-checkbox-group 。
  2. 建立组件B,里面直接使用 组件A,没有问题。
  3. 组件B里面放一个 el-tree。
  4. 组件A放入 el-tree 的slot 里面,这时就报错了,el-checkbox-group 内部的一个对象是 undefined,代码又没有做判断。

暂时只好直接用 el-checkbox。

没有梯子,GitHub 上不去。

你这到底怎么放的…主要是很好奇组件b放tree,组件a放slot这个

el-tree 的slot 里面,放组件A。

可以把el-check-group 的 validateEvent = false 解决下
原因或许是 tree.vue中弄了个这个…

provide(formItemContextKey, undefined)
//old 没有这个

check-group.vue 的watch中

// elFormItem = inject(formItemContextKey,{})
if (props.validateEvent) {
   elFormItem.validate?.('change').catch((err) => debugWarn(err))
}
// old
elFormItem.validate?.('change')

这样操作 group elFormItem 老版本:{} 新版本:undefined
emmm,更新出bug了,应该说你把check-group包含在tree里就会出问题

非常感谢。
确实是内部 验证(validate)的地方出问题了,从hook里取出来的 elFormItem 是 undefined 。

改用 el-check 了。自己拼呗 。

另外, el-select,也不能放,类似的报错。还好 el-select-v2 可以用。否则,emmm只能用原生select了。