vuejs实现下拉框菜单选择
作者:Eternal-memory 发布时间:2023-09-23 08:49:54
标签: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>
来源:https://blog.csdn.net/liuxin_1991/article/details/81181957
0
投稿
猜你喜欢
- 1.下载 4个rpm包mysql-community-client-5.7.26-1.el7.x86_64.rpmmysql-communi
- 考虑下述Python代码片段。对文件中的数据进行某些操作,然后将结果保存回文件中:with open(filename) as f:&nbs
- 选择了MySQL的安装版本后,要做的第二项决策是你是使用源码分发版还是二进制分发版。大多数情况,如果你的平台上已经有了一个二进制分发版,你可
- 问题最近在使用 Vue 做东西,用到钉钉扫描登录的功能,这里需要引入远程的 js 文件,因为 Vue 的方式跟之前的不太一样,又不想把文件下
- 1、安装依赖包yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoco
- 在win7 64位,Anaconda安装的Python3.6.1下安装的TensorFlow与Keras,Keras的backend为Ten
- 今天在修改 淘宝 宝贝详情页面的时候,发现页面在 Firefox 下遇到这样一个问题:链接用图片做背景,text-indent:-9999p
- 前言:大家好啊!又是我TUSTer_! python里有自带的库math,cmath,和函数pow来开根号。下边让我带你了解他们
- 本文为大家分享了vue $emit 和 $on 组件通信,供大家参考,具体内容如下<!DOCTYPE html> <htm
- 中间件是什么?中间件是类似flask函数中钩子函数的东西。可以在请求视图函数前,或者视图函数响应后处理某些事情。中间件对全部视图都有效!中间
- json和dictpython中的dict类型要转换为json格式的数据需要用到json库:import json <json>
- 小编今天写下关于后台管理员权限的分配自己的思路想法<?php /**reader * 小编的思想比较简单实现的功能
- Python的web模板,其实就是在HTML文档中使用控制语句和表达语句替换HTML文档中的变量来控制HTML的显示格式,Python的we
- 如何更改CentOS系统下的MySQL数据库目录位置1、首先我们需要关闭MySQL,命令如下:service mysqld stop2、然后
- 前言要想让手机app自动登录,也就是让app自己操作。所以在脚本中我们需要对app控件进行操作,那么我们需要获取控件的信息。可以使用..\a
- JavaScript 代码一般最常见的语法格式就是定义函数 function xxx(){/*code...*/},经常有这样的一大堆函数定
- user-define-session-inc.php文件代码:<?php function mysession_open($save
- Create a Simple API Using Django REST Framework in PythonWHAT IS AN AP
- /* --注意:准备数据(可略过,非常耗时) CREATE TABLE CHECK1_T1 ( ID INT, C1 CHAR(8000)
- 1. 引言pprint的英文全称Data pretty printer,顾名思义就是让显示结果更加直观漂亮。print()和pprint()