lg_frontend/components/FlexCol.vue

69 lines
1.1 KiB
Vue

<template>
<div class="FlexCol" :style="curStyle">
<slot></slot>
</div>
</template>
<script>
import {getSize} from "@/utils/tools";
export default {
name: 'FlexCol',
components: {},
mixins: [],
inject: [],
provide() {
return {
FlexCol: this
}
},
props: {
width: {
type: [Number, String],
default: 'auto'
},
paddingTop: {
type: [Number, String],
default: '0'
}
},
data() {
return {}
},
computed: {
curStyle () {
if (this.width === 'auto') {
return {
flex: 1,
paddingTop: getSize(this.paddingTop)
}
}
return {
width: getSize(this.width),
paddingTop: getSize(this.paddingTop)
}
}
},
watch: {},
created() {
},
beforeDestroy() {
},
mounted() {
},
methods: {},
}
</script>
<style scoped lang="less">
.FlexCol {
height: 100%;
display: flex;
justify-content: flex-start;
align-items: center;
flex-direction: column;
box-sizing: border-box;
}
</style>