首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >[vue-test-utils]:wrapper.setChecked()必须传递一个布尔值

[vue-test-utils]:wrapper.setChecked()必须传递一个布尔值
EN

Stack Overflow用户
提问于 2018-11-26 22:47:45
回答 1查看 2.6K关注 0票数 2

使用Vue,我有一些无线电输入:

代码语言:javascript
复制
  <label>
    <input
      v-model="myProperty"
      v-bind:value="true"
      name="myProperty"
      type="radio"
    > True
  </label>

  <label>
    <input
      v-model="myProperty"
      v-validate="input.rules ? input.rules : ''"
      v-bind:value="false"
      name="myProperty"
      type="radio"
    > False
  </label>

我正在用vue-test-utilsjest测试它们,在它们中,我选择并分配一个值给我的字段:

代码语言:javascript
复制
let myProperty = wrapper.find('[name="myProperty"]')
myProperty.setChecked(false)

根据文档的说法,它应该是这样工作的。但我知道这个错误:

代码语言:javascript
复制
[vue-test-utils]: wrapper.setChecked() must be passed a boolean

但是,当我将值设置为true而不是false时,它可以工作。作为一个实验,我尝试将值设置为字符串'false'

代码语言:javascript
复制
myProperty.setChecked('false')

然后我发现了一个错误:

代码语言:javascript
复制
[vue-test-utils]: wrapper.setChecked() must be passed a boolean

那么,当值为vue-test-utils时,我应该如何选择在false中想要的无线电输入?如果我的无线电输入有用于值的字符串呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-27 19:07:19

您需要在组中的另一个无线电输入上调用setChecked。这将不检查组中的所有其他单选按钮,因为一次只能检查一个:

代码语言:javascript
复制
wrapper.find('[name="other property"]').setChecked(true)

在Vue测试Utils中,我们不允许将单选按钮checked设置为false,因为这使您能够将一个无线电组置于一个没有被检查的状态,尽管作为一个用户这是不可能的。

也许我们应该重新考虑这个设计决定。如果您有用例,请在Vue Test repo中创建一个特性请求。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53490280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档