vuejs实现下拉框菜单选择
更新时间:2020年10月23日 11:54:45 作者:Eternal-memory
这篇文章主要为大家详细介绍了vuejs实现下拉框菜单选择,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了vuejs实现下拉框菜单选择的具体代码,供大家参考,具体内容如下
方法一:
<script type="text/ecmascript-6">
export default {
data() {
return {
isShowSelect: false,
dataList: [
{key: -1, value: "请选择"},
{key: 0, value: "苹果"},
{key: 1, value: "香蕉"}
]
unitName:'请选择'
}
},
methods: {
arrowDown() {
this.isShowSelect = !this.isShowSelect;
},
select(item, index) {
this.isShowSelect = false;
console.log(item);
console.log(index);
this.unitModel = index;
this.unitName = item.value;
}
}
};
</script>
<li>
<h3 class="F7">下拉框选择案例</h3>
<div class="por">
<div class="selectBox" style="width: 400px;">
<div class="selectBox_show" v-on:click.stop="arrowDown">
<i class="icon icon_arrowDown"></i>
<p title="请选择">{{unitName}}</p>
<input type="hidden" name="unit" v-model="unitModel">
</div>
<div class="selectBox_list" v-show="isShowSelect"
style="max-height: 240px; width: 398px; display: block;">
<div class="selectBox_listLi" v-for="(item, index) in dataList"
@click.stop="select(item, index)">{{item.value}}
</div>
</div>
</div>
</div>
</li>
方法二:由父组件传递数据给子组件
<template>
<div class="selection-component">
<div class="selection-show" @click="toggleDrop">
<span>{{ selections[nowIndex].label }}</span>
<div class="arrow"></div>
</div>
<div class="selection-list" v-if="isDrop">
<ul>
<li v-for="(item, index) in selections" @click="chooseSelection(index)">{{ item.label }}</li>
</ul>
</div>
</div>
</template>
<script>
export default {
props: {
selections: {
type: Array,
default: [{
label: 'test',
value: 0
}]
}
},
data () {
return {
isDrop: false,
nowIndex: 0
}
},
methods: {
toggleDrop () {
this.isDrop = !this.isDrop
},
chooseSelection (index) {
this.nowIndex = index
this.isDrop = false
this.$emit('on-change', this.selections[this.nowIndex])
}
}
}
</script>

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。
更多vue学习教程请阅读专题《vue实战教程》
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
这篇文章主要介绍了vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案,帮助大家更好的理解和学习使用vue框架,感兴趣的朋友可以了解下2021-03-03
从0到1构建vueSSR项目之node以及vue-cli3的配置
这篇文章主要介绍了从0到1构建vueSSR项目之node以及vue-cli3的配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-03-03
vue+px2rem实现pc端大屏自适应的实例代码(rem适配)
不管是移动端的适配,还是大屏需求,都离不开不一个单位rem,rem是相对于根元素的字体大小的单位,下面这篇文章主要给大家介绍了关于vue+px2rem实现pc端大屏自适应的相关资料,需要的朋友可以参考下2021-08-08


最新评论