以编程方式与 vue-multiselect 交互

时间:2021-06-15 17:10:55

标签: vue.js nuxt.js vue-multiselect

试图用这些打开选择:

document.querySelector('.multiselect').click()
document.querySelector('.multiselect__tags').click()
document.querySelector('#languages').click()
document.querySelector('.multiselect__spinner').click()
document.querySelector('.multiselect__content-wrapper').click()

这个工作通过直接选择项目而起作用,但在我的情况下,元素需要可见,所以无论如何我都必须打开抽屉。

document.querySelectorAll('.multiselect__option')[1].click()

为了做到这一点,我尝试遍历整个 vue-multiselect 节点树并向每个元素发送点击:

items = items.querySelector('#languages-input')
items = items.querySelectorAll('*')

const timer = ms => new Promise(res => setTimeout(res, ms))

for(i = 0; i < items.length; i++) {
    console.log(items[i])
    items[i].click()
    await timer(1000)
}

1 个答案:

答案 0 :(得分:0)

使用 display: none 隐藏抽屉。

为了打开抽屉:

drawer = document.querySelector('.multiselect__content-wrapper')
drawer.style.display = 'block'

按索引选择/取消选择项目:

document.querySelectorAll('.multiselect__option')[0].click()
相关问题