vant/docs/src/components/DemoList.vue
neverland ccf868c239
[bugfix] Popup: update overlay style & class (#349)
* fix: Tabbar icon line-height

* [new feature] progress add showPivot prop

* [new feature] TabItem support vue-router

* [new feature] update document header style

* [Doc] add toast english ducoment

* [bugfix] Search box-sizing wrong

* [Doc] update vant-demo respo

* [Doc] translate theme & demo pages

* [Doc] add Internationalization document

* [bugfix] remove unnecessary props

* [fix] optimize clickoutside

* [new feature] optimize find-parent

* [new feature]: change document title accordinng to language

* [new feature] Pagination code review

* [improvement] adjust icon-font unicode

* [improvement] Icon spinner color inherit

* [improvement] icon default width

* [bugfix] DateTimePicker validate date props

* [bugfix] Tab item text ellipsis

* [improvement] optimize single line ellipsis

* [Improvement] optimzie staticClass

* [Improvement] Button: use sfc instread of jsx

* [Improvement] update actionsheet close icon style

* fix: yarn.lock

* fix: icon test cases

* [bugfix] errors during ssr

* [Improvement] SubmitBar add left slot

* [new feature] ImagePreview support manually close

* fix: ImagePreview test case

* [Doc] add switch lang button in mobile

* [bugfix] Popup overlay style update
2017-11-24 14:18:14 +08:00

127 lines
2.5 KiB
Vue

<template>
<div class="side-nav">
<h1 class="zanui-title">
<img src="https://img.yzcdn.cn/public_files/2017/10/25/c2e074cd97d4d9e9b14a87b2fcb29430.png" />
<span>Vant</span>
</h1>
<div class="mobile-switch-lang">
<span :class="{ active: $vantLang === 'en-US' }" @click="switchLang('en-US')">EN</span>
<span :class="{ active: $vantLang === 'zh-CN' }" @click="switchLang('zh-CN')">中文</span>
</div>
<h2 class="zanui-desc">{{ description }}</h2>
<div class="mobile-navs">
<div class="mobile-nav-item" v-for="(item, index) in navList" v-if="item.showInMobile" :key="index">
<mobile-nav v-for="(group, index) in item.groups" :group="group" :base="base" :nav-key="index" :key="index" />
</div>
</div>
</div>
</template>
<script>
import docConfig from '../doc.config';
import MobileNav from './MobileNav';
import { setLang } from '../utils/lang';
export default {
data() {
return {
docConfig
};
},
components: {
MobileNav
},
computed: {
base() {
return `${this.$vantLang}/component`;
},
navList() {
return this.docConfig[this.$vantLang].nav || [];
},
description() {
return this.$vantLang === 'zh-CN' ? '有赞移动端 Vue 组件库' : 'A Vue.js 2.0 Mobile UI at YouZan';
}
},
methods: {
switchLang(lang) {
const from = lang === 'zh-CN' ? 'en-US' : 'zh-CN';
this.$router.push(this.$route.path.replace(from, lang));
setLang(lang);
}
}
};
</script>
<style lang="postcss">
@import '../../../packages/vant-css/src/common/var';
.side-nav {
width: 100%;
box-sizing: border-box;
padding: 60px 15px 20px;
position: relative;
z-index: 1;
.zanui-title,
.zanui-desc {
text-align: center;
font-weight: normal;
user-select: none;
}
.zanui-title {
margin: 0 0 15px;
img,
span {
display: inline-block;
vertical-align: middle;
}
img {
width: 30px;
}
span {
font-size: 40px;
margin-left: 15px;
font-family: "Dosis", "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
}
}
.zanui-desc {
font-size: 14px;
color: #455a64;
margin: 0 0 60px;
}
}
.mobile-switch-lang {
position: absolute;
top: 15px;
right: 15px;
font-size: 11px;
border: 1px solid $blue;
border-radius: 3px;
color: $blue;
cursor: pointer;
span {
width: 32px;
line-height: 22px;
text-align: center;
display: inline-block;
&.active {
color: #fff;
background-color: $blue;
}
}
}
</style>