Commit 444907c4ca79253a5af6dc6a96569966bb794673

Authored by 梁灏
1 parent 5ddf1bcf

update Vue

1 <style lang="less"> 1 <style lang="less">
2 @import "../src/styles/index.less"; 2 @import "../src/styles/index.less";
3 </style> 3 </style>
4 -<style scoped>  
5 -nav { margin-bottom: 40px; }  
6 -ul { display: flex; flex-wrap: wrap; }  
7 -li { display: inline-block; }  
8 -li + li { border-left: solid 1px #bbb; padding-left: 10px; margin-left: 10px; } 4 +<style lang="less" scoped>
  5 +nav {
  6 + margin-bottom: 40px;
  7 +
  8 + ul { display: flex; flex-wrap: wrap; }
  9 + li { display: inline-block; }
  10 + li + li { border-left: solid 1px #bbb; padding-left: 10px; margin-left: 10px; }
  11 +}
9 .container{ padding: 10px 40px 0; } 12 .container{ padding: 10px 40px 0; }
10 .v-link-active { color: #bbb; } 13 .v-link-active { color: #bbb; }
11 </style> 14 </style>
examples/routers/menu.vue
1 <template> 1 <template>
2 - <div>  
3 - <Menu :theme="theme1" active-name="1" accordion @on-select="handleSelect" @on-open-change="handleOpen" :open-names="openArr">  
4 - <Menu-item name="1">  
5 - <Icon type="ios-paper"></Icon>  
6 - 一级1  
7 - </Menu-item>  
8 - <Menu-item name="2">  
9 - <Icon type="ios-people"></Icon>  
10 - 一级2  
11 - </Menu-item> 2 + <Menu active-name="1-2" :open-names="['1']">
  3 + <Submenu name="1">
  4 + <template slot="title">
  5 + <Icon type="ios-analytics"></Icon>
  6 + Navigation One
  7 + </template>
  8 + <MenuGroup title="Item 1">
  9 + <MenuItem name="1-1">Option 1</MenuItem>
  10 + <MenuItem name="1-2">Option 2</MenuItem>
  11 + </MenuGroup>
  12 + <MenuGroup title="Item 2">
  13 + <MenuItem name="1-3">Option 3</MenuItem>
  14 + <MenuItem name="1-4">Option 4</MenuItem>
  15 + </MenuGroup>
  16 + </Submenu>
  17 + <Submenu name="2">
  18 + <template slot="title">
  19 + <Icon type="ios-filing"></Icon>
  20 + Navigation Two
  21 + </template>
  22 + <MenuItem name="2-1">Option 5</MenuItem>
  23 + <MenuItem name="2-2">Option 6</MenuItem>
12 <Submenu name="3"> 24 <Submenu name="3">
13 - <template slot="title">  
14 - <Icon type="ios-people"></Icon>  
15 - 一级3  
16 - </template>  
17 - <Menu-item name="3-1">二级1</Menu-item>  
18 - <Menu-item name="3-2">二级2</Menu-item>  
19 - <Submenu name="3-3">  
20 - <template slot="title">  
21 - <Icon type="stats-bars"></Icon>  
22 - 二级3  
23 - </template>  
24 - <Menu-item name="3-3-1">三级1</Menu-item>  
25 - <Menu-item name="3-3-2">三级2</Menu-item>  
26 - <Submenu name="3-3-3">  
27 - <template slot="title">  
28 - <Icon type="stats-bars"></Icon>  
29 - 三级3  
30 - </template>  
31 - <Menu-item name="3-3-3-1">四级1</Menu-item>  
32 - <Menu-item name="3-3-3-2">四级2</Menu-item>  
33 - <MenuGroup title="Menu-Group">  
34 - <MenuItem name="3-3-3-3-1">  
35 - <Icon type="document-text"></Icon>  
36 - Group-item1  
37 - </MenuItem>  
38 - <MenuItem name="3-3-3-3-2">  
39 - <Icon type="chatbubbles"></Icon>  
40 - Group-item2  
41 - </MenuItem>  
42 - </MenuGroup>  
43 - </Submenu>  
44 - <Submenu name="3-3-4">  
45 - <template slot="title">  
46 - <Icon type="stats-bars"></Icon>  
47 - 三级4  
48 - </template>  
49 - <Menu-item name="3-3-4-1">四级1</Menu-item>  
50 - <Menu-item name="3-3-4-2">四级2</Menu-item>  
51 - </Submenu>  
52 - </Submenu>  
53 - <Submenu name="3-4">  
54 - <template slot="title">  
55 - <Icon type="stats-bars"></Icon>  
56 - 二级4  
57 - </template>  
58 - <Menu-item name="3-4-1">三级1</Menu-item>  
59 - <Menu-item name="3-4-2">三级2</Menu-item>  
60 - </Submenu> 25 + <template slot="title">Submenu</template>
  26 + <MenuItem name="3-1">Option 7</MenuItem>
  27 + <MenuItem name="3-2">Option 8</MenuItem>
61 </Submenu> 28 </Submenu>
62 - <Menu-item name="4">  
63 - <Icon type="settings"></Icon>  
64 - 一级4  
65 - </Menu-item>  
66 - </Menu>  
67 - <br>  
68 - <p>切换主题</p>  
69 - <Radio-group v-model="theme1">  
70 - <Radio label="light"></Radio>  
71 - <Radio label="dark"></Radio>  
72 - <Radio label="primary"></Radio>  
73 - </Radio-group>  
74 - <Input v-model="value4" icon="ios-clock-outline" placeholder="请输入..." style="width: 200px"></Input>  
75 - </div> 29 + </Submenu>
  30 + <Submenu name="4">
  31 + <template slot="title">
  32 + <Icon type="ios-gear"></Icon>
  33 + Navigation Three
  34 + </template>
  35 + <MenuItem name="4-1">Option 9</MenuItem>
  36 + <MenuItem name="4-2">Option 10</MenuItem>
  37 + <MenuItem name="4-3">Option 11</MenuItem>
  38 + <MenuItem name="4-4">Option 12</MenuItem>
  39 + </Submenu>
  40 + </Menu>
76 </template> 41 </template>
77 <script> 42 <script>
78 export default { 43 export default {
79 - data () {  
80 - return {  
81 - theme1: 'dark',  
82 - value4: '',  
83 - openArr: ['3', '3-3', '3-3-3']  
84 - };  
85 - },  
86 - methods: {  
87 - handleSelect (name) {  
88 - // console.log(name);  
89 - return name;  
90 - },  
91 - handleOpen (openArr) {  
92 - // console.log(openArr);  
93 - return openArr;  
94 - }  
95 - }  
96 - }; 44 +
  45 + }
97 </script> 46 </script>
1 { 1 {
2 "name": "iview", 2 "name": "iview",
3 - "version": "2.10.0", 3 + "version": "2.10.1",
4 "lockfileVersion": 1, 4 "lockfileVersion": 1,
5 "requires": true, 5 "requires": true,
6 "dependencies": { 6 "dependencies": {
@@ -14025,9 +14025,9 @@ @@ -14025,9 +14025,9 @@
14025 "dev": true 14025 "dev": true
14026 }, 14026 },
14027 "vue": { 14027 "vue": {
14028 - "version": "2.5.13",  
14029 - "resolved": "https://registry.npmjs.org/vue/-/vue-2.5.13.tgz",  
14030 - "integrity": "sha512-3D+lY7HTkKbtswDM4BBHgqyq+qo8IAEE8lz8va1dz3LLmttjgo0FxairO4r1iN2OBqk8o1FyL4hvzzTFEdQSEw==", 14028 + "version": "2.5.15",
  14029 + "resolved": "https://registry.npmjs.org/vue/-/vue-2.5.15.tgz",
  14030 + "integrity": "sha512-uUcDI147VCQYA/9AqoEECddWdTQgrhnwAd6KDsl0pF1hiLpxqaYqIgArhnegU+QZ18DQrKvZNcR3x2QM1iaroQ==",
14031 "dev": true 14031 "dev": true
14032 }, 14032 },
14033 "vue-hot-reload-api": { 14033 "vue-hot-reload-api": {
@@ -14258,9 +14258,9 @@ @@ -14258,9 +14258,9 @@
14258 } 14258 }
14259 }, 14259 },
14260 "vue-template-compiler": { 14260 "vue-template-compiler": {
14261 - "version": "2.5.13",  
14262 - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.5.13.tgz",  
14263 - "integrity": "sha512-15HWSgIxrGUcV0v7QRen2Y3fQsbgxXwMvjT/5XKMO0ANmaCcNh7y2OeIDTAuSGeosjb9+E1Pn2PHZ61VQWEgBQ==", 14261 + "version": "2.5.15",
  14262 + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.5.15.tgz",
  14263 + "integrity": "sha512-v3GRVovW8fWO01SAJ+1MbdzbCN+hVBusoqUOBE5FR9dVMGo3p/WDO2gRS/+gEgAALtL7i5pxi+V2l6EauM3XDA==",
14264 "dev": true, 14264 "dev": true,
14265 "requires": { 14265 "requires": {
14266 "de-indent": "1.0.2", 14266 "de-indent": "1.0.2",
@@ -99,13 +99,13 @@ @@ -99,13 +99,13 @@
99 "sinon-chai": "^3.0.0", 99 "sinon-chai": "^3.0.0",
100 "style-loader": "^0.20.2", 100 "style-loader": "^0.20.2",
101 "url-loader": "^1.0.1", 101 "url-loader": "^1.0.1",
102 - "vue": "^2.5.13", 102 + "vue": "^2.5.15",
103 "vue-hot-reload-api": "^2.3.0", 103 "vue-hot-reload-api": "^2.3.0",
104 "vue-html-loader": "^1.2.4", 104 "vue-html-loader": "^1.2.4",
105 "vue-loader": "^14.2.1", 105 "vue-loader": "^14.2.1",
106 "vue-router": "^3.0.1", 106 "vue-router": "^3.0.1",
107 "vue-style-loader": "^4.0.2", 107 "vue-style-loader": "^4.0.2",
108 - "vue-template-compiler": "^2.5.13", 108 + "vue-template-compiler": "^2.5.15",
109 "webpack": "^3.11.0", 109 "webpack": "^3.11.0",
110 "webpack-dev-server": "^2.11.1", 110 "webpack-dev-server": "^2.11.1",
111 "webpack-merge": "^3.0.0" 111 "webpack-merge": "^3.0.0"
src/utils/assist.js
@@ -220,9 +220,10 @@ export function findComponentsDownward (context, componentName) { @@ -220,9 +220,10 @@ export function findComponentsDownward (context, componentName) {
220 // Find components upward 220 // Find components upward
221 export function findComponentsUpward (context, componentName) { 221 export function findComponentsUpward (context, componentName) {
222 let parents = []; 222 let parents = [];
223 - if (context.$parent) {  
224 - if (context.$parent.$options.name === componentName) parents.push(context.$parent);  
225 - return parents.concat(findComponentsUpward(context.$parent, componentName)); 223 + const parent = context.$parent;
  224 + if (parent) {
  225 + if (parent.$options.name === componentName) parents.push(parent);
  226 + return parents.concat(findComponentsUpward(parent, componentName));
226 } else { 227 } else {
227 return []; 228 return [];
228 } 229 }