javascript - 如何从 Vuejs 的下拉列表中显示选定的值?
问题描述
thicknessexpanded: false,
method(){
thicknessOnClick: function (event) {
this.thicknessexpanded = !this.thicknessexpanded;
},
}
.dropdown-check-list3 {
padding-left: 4px;
padding-bottom: 25px;
display: inline-block;
}
.dropdown-check-list3 .anchor3 {
margin-left: 20px;
width: 255px;
color: #70737a;
font-size: 14px;
font-weight: 500;
background-color: #ffff;
position: relative;
cursor: pointer;
display: inline-block;
padding: 5px 140px 5px 10px;
border: 2px solid #ccc;
}
.dropdown-check-list3 .anchor3:after {
position: absolute;
content: "";
border-left: 2px solid black;
border-top: 2px solid black;
padding: 5px;
right: 10px;
top: 35%;
transform: rotate(-135deg);
}
.dropdown-check-list3 .anchor3:active:after {
right: 8px;
top: 21%;
}
.dropdown-check-list3 ul.items3 {
width: 254px;
background-color: #ffff;
padding: 2px;
display: none;
margin: 0;
border: 1px solid #ccc;
border-top: none;
}
.dropdown-check-list3 ul.items3 li {
background-color: #ffff;
list-style: none;
}
.dropdown-check-list3.visible .anchor3 {
background-color: #ffff;
}
.dropdown-check-list3.visible > span.anchor3:after {
transform: rotate(45deg);
}
<div
class="dropdown-check-list3"
:class="{ visible: thicknessexpanded }"
tabindex="100"
>
<span class="anchor3" @click="thicknessOnClick">Select (mm)</span>
<ul class="items3">
<div class="checkbox-alignment-application-filter">
<li
id="thickness-filter1"
class="vh-product"
/>
<label class="productlist-specific" for="thickness-filter1"
>2.0mm</label
>
</div>
<div class="checkbox-alignment-application-filter">
<li
id="thickness-filter2"
class="vh-product"
/>
<label class="productlist-specific" for="thickness-filter2"
>22.0mm</label
>
</div>
<div class="checkbox-alignment-application-filter">
<li
id="thickness-filter3"
class="vh-product"
/>
<label class="productlist-specific" for="thickness-filter3"
>3.0mm</label
>
</div>
<div class="checkbox-alignment-application-filter">
<li
id="thickness-filter4"
class="vh-product"
/>
<label class="productlist-specific" for="thickness-filter4"
>4.0mm</label
>
</div>
</ul>
</div>
从下拉列表中我想选择特定的值,并在下拉列表中显示(绑定)选定的值。如此等等。
为此,我已经编写了功能,因此不确定如何绑定下拉列表中的选定值。
任何人都可以请帮助我。不确定代码有什么问题。或者我该如何开始以便相应地显示。
解决方案
如果您使用的是 vue.js,为什么不实现一个下拉组件,将项目传递给 select andd 使用 v-model 指令将所选项目绑定到您的 vue 数据中,以及下拉列表?
这就是它在我在 vue 中使用的许多下拉组件中的工作方式。
你可以这样做:
表单组件
<template>
<CustomDropDown :items="itemsList" v-model="chosenSize" />
</template>
<script>
export default {
data() {
return {
itemsList = ["2mm", ...],
chosenSize = itemsList[0]
}
}
<script />
下拉组件
<template>
... dropdown code
<li @click="updateValue(item)" v-for="item, index in items" :key="index">item</li>
...
</template>
<script>
export default {
props: ["value", "items"],
data() {
return {
chosen: this.value
}
},
methods: {
updatedValue(item) {
this.chosen = item;
this.$emit("input", item);
}
}
</script>
通过这种方式,您可以通过始终知道选择了哪个项目并在父表单组件中有一个 v-model 来自定义下拉列表。
我建议你看看这个:[vue js components][1]
希望能帮助到你![1]:https ://vuejs.org/v2/guide/components.html
推荐阅读
- apache-kafka - 使用 Kafka 在 Rebus 中手动提交
- ios - 具有类和静态函数的最终类
- scala - 结合具有相同物化值的多个源
- c++ - VSCode Dokcerized 容器中的 Permission Denied CPP
- javascript - 将样式应用于表格时如何同时将样式应用于表格和所有单元格
- .net-core - 使用 Ionide 插件在 VS Code 中运行 F# 程序
- firebase - 谷歌云功能 - 删除旧版本的功能?
- laravel - 重构和优化 Laravel 验证规则(required_with)
- sql - PosgreSQL 将表连接为数组
- java - 确定 `.` 和 `..` 是否是 Java 文件系统中的“特殊名称”