// 组件 import ibpsContainerFull from './components/ibps-container-full.vue' import ibpsContainerFullBs from './components/ibps-container-full-bs.vue' import ibpsContainerGhost from './components/ibps-container-ghost.vue' import ibpsContainerGhostBs from './components/ibps-container-ghost-bs.vue' import ibpsContainerCard from './components/ibps-container-card.vue' import ibpsContainerCardBs from './components/ibps-container-card-bs.vue' export default { name: 'ibps-container', props: { // 容器样式 type: { type: String, required: false, default: 'full' }, // 滚动优化 betterScroll: { type: Boolean, required: false, default: false }, marginLeft: { type: String }, marginRight: { type: String } }, computed: { // 始终返回渲染组件 component() { if (this.type === 'card' && !this.betterScroll) return ibpsContainerCard if (this.type === 'card' && this.betterScroll) return ibpsContainerCardBs if (this.type === 'ghost' && !this.betterScroll) return ibpsContainerGhost if (this.type === 'ghost' && this.betterScroll) return ibpsContainerGhostBs if (this.type === 'full' && !this.betterScroll) return ibpsContainerFull if (this.type === 'full' && this.betterScroll) return ibpsContainerFullBs else { return 'div' } } }, render(h) { const slots = [ this.$slots.default, this.$slots.header ? { this.$slots.header } : null, this.$slots.footer ? { this.$slots.footer } : null ] // 增加左右布局 const style = { marginRight: this.marginRight, marginLeft: this.marginLeft } return