Vue 测试实用程序:'[object Object]' 不是有效的选择器

Vue test utils: '[object Object]' is not a valid selector

我试图通过包装器的 ref 属性获取元素,但它抛出了如下所示的错误。

根据 documentation,我对 find 的用法似乎是正确的。

 SyntaxError: '[object Object]' is not a valid selector

  13 |     const lis = wrapper.findAll('li');
  14 | 
> 15 |     const a = wrapper.find({ ref: 'first' });
     |                       ^
  16 | 
  17 |     console.log(a);
  18 | 

  at emit (node_modules/nwsapi/src/nwsapi.js:565:17)
  at _querySelectorAll (node_modules/nwsapi/src/nwsapi.js:1513:9)
  at Object._querySelector [as first] (node_modules/nwsapi/src/nwsapi.js:1424:14)      at VueWrapper.find (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:192      at Object.it (tests/unit/example.spec.js:15:23)

您可以通过this.$refs.first

获取您的参考值

find 的用法已根据 current find docs 弃用:

Deprecation warning

Using find to search for a Component is deprecated and will be removed. Use findComponent instead.

现在看来该支持已完全删除。 find 目前只接受选择器字符串。

要按 ref 名称查找组件,请改用 findComponent

wrapper.findComponent({ ref: 'first' })