文本字段更新在 Vue 测试实用程序中不起作用(开玩笑)
P粉604669414
P粉604669414 2024-03-26 08:51:55
[Vue.js讨论组]

嗨,我是玩笑和单元测试的新手。我想问如何使用 vue test utils 设置值文本输入。

很快我就有了用于文本输入的自定义组件,这是我的代码

<input
    v-model="local_value"
    @keyup.enter="submitToParent"
    :class="input_class"
    :id="id"
    :disabled="is_disabled"
    :maxlength="max_length"
    :placeholder="placeholder"
    :autocomplete="(is_autocomplete) ? 'on' : 'off'"
    :name="id"
    :ref="id"
  />

这是我的测试

it("type something on field", async () => {
        const wrapper = shallowMount(TextInput, {
            propsData: {
                id: "my_input",
            }
        })

        // find component (its work properly) and I want to try inserting some text
        const input = wrapper.findComponent({ref: "my_input"})
        input.element.value = "sample text"
        input.setValue("sample text")

        // the value still empty string (""), idk what happens with my code
        console.log(wrapper.vm.local_value)
        expect(wrapper.vm.local_value).toBe("sample text")

请告诉我您是否知道此问题的解决方案,谢谢您的宝贵时间

P粉604669414
P粉604669414

全部回复(1)
P粉476883986

据我所知, setValue 是异步的,所以你可能需要设置它 await input.setValue('示例文本')

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号