Blame view

src/components/layout/layout.vue 1.05 KB
a2eb0287   zhigang.li   add layout compon...
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
  <template>
       <div :class="wrapClasses"><slot></slot></div>
   </template>
   <script>
       const prefixCls = 'ivu-layout';
   
       export default {
           name: 'Layout',
           props: {
               className: {
                   type: String,
                   default: ''
               }
           },
           data () {
               return {
                   prefixCls: prefixCls,
                   hasSider: false
               };
           },
           computed: {
               wrapClasses () {
                   return [
                       `${prefixCls}`,
                       this.className,
                       {
                           [`${prefixCls}-has-sider`]: this.hasSider
                       }
                   ];
               }
           },
           methods: {
               findSider () {
                   return this.$children.some(child => {
                       return child.$options._componentTag === 'Sider';
                   });
               }
           },
           mounted () {
               this.hasSider = this.findSider();
           }
       };
   </script>