ant-design-vue的tree组件在checkStrictly为true的情况下怎么定义checkedKeys

发布于 2022-09-13 01:26:57 字数 1019 浏览 23 评论 0

本人想实现自己的联动勾选逻辑,所以将checkStrictly设为true,关键代码如下

      <a-tree
        v-model:checkedKeys="checkedKeys"
        :check-strictly="true"
      />

setup中的关键代码

    const checked = ref<string[]>([]);
    const checkedKeys = {
      checked: checked,
      halfChecked: [],
    };
    return {
      checkedKeys,
    };

代码运行正常,但是会有如下警告:

[VueTypes warn]: oneOfType - provided value does not match any of the 2 passed-in validators:
  arrayOf - value "[object Object]" should be of type "Array"
  shape - "checked" property validation error:
     arrayOf - value "[object Object]" should be of type "Array"

checked的类型错误,请问应该怎么定义让checked具有响应式?
试过用reactive定义checkedKeys,但是checked失去了响应式

    const checkedKeys = reactive({
      checked: [],
      halfChecked: [],
    });
//checkedKeys.checked = [1,2,3,4]; 没有效果
    return {
      checkedKeys,
    };

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岁吢 2022-09-20 01:26:57

试过以下几种定义方法都不行,我是没撤了

    //方法1
    const checkedKeys = reactive({
      checked: [],
      halfChecked: [],
    });
    //方法2
    const checked = ref<string[]>([]);
    const checkedKeys = reactive({
      checked: checked,
      halfChecked: [],
    });
    //方法3
    const checked = ref<string[]>([]);
    const checkedKeys = computed(() => {
      return {
        checked: checked.value,
        halfChecked: [],
      };
    });

2021-10-13
升级到3.0.0-alpha.2后没这问题了,先这样了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文