vant3 项目中直接引用vant源码中的symbol当key值,无法正确获取父组件注入的变量

新手上路,请多包涵

想要根据vant源码中的symbol获取官方form组件中利用useChildren存入的值,但是始终返回null,只能依靠递归父组件的方式寻找form组件实例,请问一下还有别的方式解决吗

parent.jsx

import { defineComponent } from "vue";
import Test from "./test.vue";

export default defineComponent({
  name: "Home",
  setup() {
    return () => (
      <div>
        <van-form>
          <Test></Test>
        </van-form>
      </div>
    );
  }
});

test.vue

<template>
  <div>test</div>
</template>
<script lang="ts">
import { defineComponent } from "vue";
import { FORM_KEY } from "vant/lib/composables/use-link-field";
import { useParent } from "@vant/use";
export default defineComponent({
  setup() {
    const { parent } = useParent(FORM_KEY);
    console.log(parent); //null
  }
});
</script>
阅读 2.3k
1 个回答
新手上路,请多包涵

已解决,key值引入的包路径错误 应该是

import { FORM_KEY } from "vant/lib/composables/use-link-field";
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题