【发布时间】:2021-03-16 13:25:19
【问题描述】:
我有一个 vuejs 下拉菜单,现在我想根据下拉选择的值隐藏和显示我的潜水。 Hers 是我的代码,但它只适用于一个 id,而不适用于所有人。我想根据选项模态值从这里隐藏显示我的 div 即 - 如果我的模态值为 1 那么它应该只显示 test_1 divs
<template>
<div>
<multiselect
v-model="optionsData[0]"
:options="optionsData"
:custom-label="nameWithLang"
placeholder="Pick some"
label="data"
track-by="data"
@change="hideshowdiv"/>
</div>
<div id="test_1">test 1</div>
<div id="test_1">test 1</div>
<div id="test_1">test 1</div>
<div id="test_1">test 1</div>
<div id="test_1">test 1</div>
<div id="test_2">test 2</div>
<div id="test_2">test 2</div>
<div id="test_2">test 2</div>
<div id="test_2">test 2</div>
<div id="test_2">test 2</div>
</template>
export default {
components: {
Multiselect,
InputTag
},
data: () => ({
optionsData: [
{ id: '1', data: 'Value1' },
{ id: '2', data: 'Value2' }
],
}),
method() {
hideshowdiv(value) {
document.getElementById("test_" + value).style.display = "block";
}
}
}
【问题讨论】:
-
1.
document.getElementById将仅返回 1 个元素。您可以使用 css 类和document.querySelectorAll组合来实现您想要的。但是 2. 更重要的是,这是显示和隐藏 div 的老派方式。在vue中,您可以使用v-if来显示和隐藏元素。
标签: javascript vue.js