index.js 688 B

12345678910111213141516171819202122232425262728293031323334
  1. import { use } from '../utils';
  2. const [sfc, bem] = use('col');
  3. export default sfc({
  4. props: {
  5. span: [Number, String],
  6. offset: [Number, String],
  7. tag: {
  8. type: String,
  9. default: 'div'
  10. }
  11. },
  12. computed: {
  13. gutter() {
  14. return (this.$parent && Number(this.$parent.gutter)) || 0;
  15. },
  16. style() {
  17. const padding = `${this.gutter / 2}px`;
  18. return this.gutter ? { paddingLeft: padding, paddingRight: padding } : {};
  19. }
  20. },
  21. render(h) {
  22. const { span, offset } = this;
  23. return (
  24. <this.tag class={bem({ [span]: span, [`offset-${offset}`]: offset })} style={this.style}>
  25. {this.slots()}
  26. </this.tag>
  27. );
  28. }
  29. });