Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
saber3297
开源技能树
提交
4712b113
开
开源技能树
项目概览
saber3297
/
开源技能树
通知
8
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
开
开源技能树
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
4712b113
编写于
11月 23, 2022
作者:
归鱼儿
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改部分变量名
上级
f88f015c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
125 addition
and
67 deletion
+125
-67
src/components/ThreeMenu.vue
src/components/ThreeMenu.vue
+125
-67
未找到文件。
src/components/ThreeMenu.vue
浏览文件 @
4712b113
<
template
>
<div
class=
"menu"
>
<div
class=
"cover"
:class=
"[filter.selected!=
=
''?'':'invisible']"
></div>
<div
class=
"cover"
:class=
"[filter.selected!=''?'':'invisible']"
></div>
<div
class=
"filter fixed"
>
<!-- 一级菜单开始 -->
<div
class=
"fmenu"
>
<div
:class=
"
{cf:true, active:cfName !=='吃饭'}" class="flex">
<div
class=
"sn"
:class=
"[filter.selected==='cf'?'open':'close']"
@
click=
"switchFilter"
data-name=
"cf"
>
{{
cfName
}}
</div>
<div
:class=
"
{eat:true, active:eatName !='吃饭'}" class="flex">
<div
class=
"sn"
:class=
"[filter.selected=='eat'?'open':'close']"
@
click=
"switchFilter"
data-name=
"eat"
>
{{
eatName
}}
</div>
</div>
<div
:class=
"
{sj:true,active:sjName !=='睡觉'}" class="flex">
<div
class=
"sn"
:class=
"[filter.selected==='sj'?'open':'close']"
@
click=
"switchFilter"
data-name=
"sj"
>
{{
sjName
}}
</div>
<div
:class=
"
{sleep:true,active:sleepName !='睡觉'}" class="flex">
<div
class=
"sn"
:class=
"[filter.selected=='sleep'?'open':'close']"
@
click=
"switchFilter"
data-name=
"sleep"
>
{{
sleepName
}}
</div>
</div>
<div
:class=
"
{dd:true,active:ddName !=='打豆豆'}" class="flex">
<div
class=
"sn"
:class=
"[filter.selected==='dd'?'open':'close']"
@
click=
"switchFilter"
data-name=
"dd"
>
{{
ddName
}}
</div>
<div
:class=
"
{hit:true,active:hitName !='打豆豆'}" class="flex">
<div
class=
"sn"
:class=
"[filter.selected=='hit'?'open':'close']"
@
click=
"switchFilter"
data-name=
"hit"
>
{{
hitName
}}
</div>
</div>
</div>
<!-- 一级菜单结束 -->
<!-- 二级菜单开始 -->
<div
class=
"fkind"
:class=
"[filter.selected===''?'invisible':'']"
>
<div
:class=
"[filter.selected==='cf'?'':'invisible']"
class=
"item-cf"
>
<div
class=
"fkind"
:class=
"[filter.selected==''?'invisible':'']"
>
<!--第一个一级选项-->
<div
:class=
"[filter.selected=='eat'?'':'invisible']"
class=
"item-eat"
>
<div
class=
"tabs"
>
<div
:class=
"
{
zc:true,on:filter.secondTab==='zc'}" data-name='zc
' @click="secondTab" >中餐
</div>
<div
:class=
"
{
xc:true,on:filter.secondTab==='xc'}" data-name='xc
' @click="secondTab" >西餐
</div>
<div
:class=
"
{
china:true,on:filter.secondTab=='china'}" data-name='china
' @click="secondTab" >中餐
</div>
<div
:class=
"
{
west:true,on:filter.secondTab=='west'}" data-name='west
' @click="secondTab" >西餐
</div>
</div>
<div
class=
"tab-zc"
:class=
"[filter.secondTab==='zc'?'xs':'yc']"
v-if=
"filter.secondTab==='zc'"
>
<!--第一个三级菜单开始-->
<div
class=
"tab-china"
:class=
"[filter.secondTab=='china'?'seen':'none']"
v-if=
"filter.secondTab=='china'"
>
<div
class=
"left"
>
<div
:data-text=
"item.name"
:data-id=
"item.id"
:class=
"
{active:item.id===filter.threeTabId}" @click="threeTab" v-for="(item,index) in zcs " :key="index">
{{
item
.
name
}}
</div>
<div
:data-text=
"item.name"
:data-id=
"item.id"
:class=
"
{active:item.id==filter.threeTabId}" @click="threeTab" v-for="(item,index) in chinas " :key="index">
{{
item
.
name
}}
</div>
</div>
<div
class=
"right"
v-for=
"(item,index) in chinafood"
v-if=
"item.id==filter.threeTabId"
:key=
"index"
>
<div
class=
"food"
v-for=
"(t,i) in item.name"
:key=
"i"
@
click=
"dosomething"
>
{{
t
}}
</div>
</div>
</div>
<!--第二个三级菜单开始-->
<div
class=
"tab-west"
:class=
"[filter.selected=='west'?'seen':'none']"
v-if=
"filter.secondTab=='west'"
>
<div
class=
"left"
>
<div
:data-text=
"item.name"
:data-id=
"item.id"
:class=
"
{active:item.id==filter.threeTabId}" @click="threeTab" v-for="(item,index) in westc " :key="index">
{{
item
.
name
}}
</div>
</div>
<div
class=
"right"
v-for=
"(item,index) in
zcm"
v-if=
"item.id===filter.threeTabId"
:key=
"index"
>
<div
class=
"
cm"
v-for=
"(t,i) in item.name"
:key=
"i"
@
click=
"dosomething"
>
<div
class=
"right"
v-for=
"(item,index) in
westfood"
v-if=
"item.id==filter.threeTabId"
:key=
"index"
>
<div
class=
"
food"
v-for=
"(t,i) in item.name"
:key=
"i"
@
click=
"dosomething"
>
{{
t
}}
</div>
</div>
</div>
</div>
<!--第一个一级选项结束-->
</div>
<!-- 二级菜单结束-->
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
"
TreeMenu
"
,
name
:
'
ThreeMenu
'
,
data
()
{
return
{
filter
:
{
selected
:
''
,
// 一级模块;
secondTab
:
'
zc
'
,
// 现有默认;
secondTab
:
'
china
'
,
// 现有默认;
threeTabId
:
''
},
zc
s
:
[
china
s
:
[
{
id
:
1
,
name
:
'
河南
'
...
...
@@ -62,8 +83,20 @@ export default {
name
:
'
河北
'
}
],
xcg
:
[
'
美国
'
,
'
英国
'
,
'
加拿大
'
],
zcm
:
[
westc
:
[
{
id
:
1
,
name
:
'
美国
'
},
{
id
:
2
,
name
:
'
英国
'
},
{
id
:
3
,
name
:
'
意大利
'
}],
chinafood
:
[
{
id
:
1
,
name
:
[
'
馒头
'
,
'
烩面
'
,
'
胡辣汤
'
]
...
...
@@ -76,17 +109,31 @@ export default {
id
:
3
,
name
:
[
'
驴肉火烧
'
,
'
酱汁瓦块鱼
'
,
'
大饼
'
]
}
],
westfood
:
[
{
id
:
1
,
name
:
[
'
汉堡
'
,
'
薯条
'
]
},
{
id
:
2
,
name
:
[
'
nothing
'
]
},
{
id
:
3
,
name
:
[
'
意大利面
'
]
}
]
}
},
computed
:
{
cf
Name
()
{
eat
Name
()
{
return
'
吃饭
'
},
s
j
Name
()
{
s
leep
Name
()
{
return
'
睡觉
'
},
dd
Name
()
{
hit
Name
()
{
return
'
打豆豆
'
}
},
...
...
@@ -117,48 +164,59 @@ export default {
}
</
script
>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<
style
lang=
"less"
scoped
>
.filter{
.fmenu{
display: flex;
text-align: center;
}
.flex{
flex: 1;
};
.sn.open{
background-color: pink;
}
.invisible{
display: none;
}
.fkind{
padding-top: 1.333333rem;
}
.tabs{
display: flex;
.on{
background-color: green;
};
div{
flex:1;
text-align: center;
};
.filter{
.fmenu{
display: flex;
text-align: center;
}
.flex{
flex: 1;
};
.sn.open{
background-color: pink;
}
.invisible{
display: none;
}
.fkind{
padding-top: 1.333333rem;
}
.tabs{
display: flex;
.on{
background-color: green;
};
div{
flex:1;
text-align: center;
};
}
.tab-zc{
padding-top: 1.333333rem;
display: flex;
.left{
flex:1;
};
.right{
flex: 1;
}
}
.active{
background-color: pink;
}
}
.tab-china{
padding-top: 1.333333rem;
display: flex;
.left{
flex:1;
};
.right{
flex: 1;
}
}
.tab-west{
padding-top: 1.333333rem;
display: flex;
.left{
flex:1;
};
.right{
flex: 1;
}
}
.active{
background-color: pink;
}
}
.cover{
background-color: rgba(0,0,0,.2);
...
...
@@ -168,9 +226,9 @@ div{
left: 0;
top: 0;
z-index: 4;
&.invisible {
display: none;
}
&.invisible {
display: none;
}
}
.fixed{
background-color: #fff;
...
...
@@ -179,4 +237,4 @@ div{
top: 0;
z-index: 9999;
}
</
style
>
\ No newline at end of file
</
style
>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录