header.vue 1.61 KB
<template>
    <div class="header" :class="class">
        <div class="header-left">
            <slot name="left">
                <i class="icon icon-left" @click="goBack"></i>
            </slot>
        </div>
        <div class="header-right">
            <slot name="right"></slot>
        </div>
        <div class="header-main">
            <span class="header-title">{{title}}</span>
        </div>
    </div>
    <div class="header-gap"></div>
</template>
<script>
    const yoho = require('yoho');

    module.exports = {
        props: ['title', 'class'],
        methods: {
            goBack() {
                yoho.goBack({}, function() {}, function() {});
            }
        }
    };
</script>
<style>
    .header {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        z-index: 210;
        padding-top: 5px;
        padding-left: 30px;
        padding-right: 30px;
        width: 100%;
        height: 80px;
        line-height: 60px;
        font-size: 48px;
        background-color: #fff;
        .icon,
        .header-title {
            vertical-align: middle;
        }
    }

    .header-main {
        display: block;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }

    .header-left {
        float: left;
    }

    .header-right {
        float: right;
        .icon {
            margin-left: 30px;
        }
    }

    .header-gap {
        height: 80px;
        background-color: #fff;
    }

    .app.ios {
        .header {
            padding-top: 55px;
        }

        .header-gap {
            height: 120px;
        }
    }
</style>