本文实例为大家分享了vuejs实现下拉框菜单选择的具体代码,供大家参考,具体内容如下
方法一:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<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> |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
< 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 > |
方法二:由父组件传递数据给子组件
1
2
3
4
5
6
7
8
9
10
11
12
13
|
< 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 > |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<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