You’re browsing the documentation for Vue Test Utils for Vue v2.x and earlier.

To read docs for Vue Test Utils for Vue 3, click here.

setValue

设置一个文本控件或 select 元素的值并更新 v-model 绑定的数据。

  • 参数:

    • {String} value
  • 示例:

import { mount } from '@vue/test-utils'
import Foo from './Foo.vue'

test('setValue demo', async () => {
  const wrapper = mount(Foo)

  const textInput = wrapper.find('input[type="text"]')
  await textInput.setValue('some value')

  expect(wrapper.find('input[type="text"]').element.value).toBe('some value')

  const select = wrapper.find('select')
  await select.setValue('option value')

  expect(wrapper.find('select').element.value).toBe('option value')

  // requires <select multiple>
  const multiselect = wrapper.find('select')
  await multiselect.setValue(['value1', 'value3'])

  const selectedOptions = Array.from(multiselect.element.selectedOptions).map(
    o => o.value
  )
  expect(selectedOptions).toEqual(['value1', 'value3'])
})
  • 注意:

    • textInput.setValue(value) 是接下来这段代码的别名。
    textInput.element.value = value
    textInput.trigger('input')
    
    • select.setValue(value) 是接下来这段代码的别名。
    select.element.value = value
    select.trigger('change')