2016-09-09 14:29:19 +08:00
|
|
|
<template>
|
2016-10-31 22:28:13 +08:00
|
|
|
<div :class="classes" :style="styles">
|
2016-09-09 14:29:19 +08:00
|
|
|
<slot></slot>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
<script>
|
|
|
|
import { oneOf } from '../../utils/assist';
|
|
|
|
|
|
|
|
const prefixCls = 'ivu-row';
|
|
|
|
|
|
|
|
export default {
|
2017-03-02 17:40:19 +08:00
|
|
|
name: 'Row',
|
2016-09-09 14:29:19 +08:00
|
|
|
props: {
|
|
|
|
type: {
|
|
|
|
validator (value) {
|
|
|
|
return oneOf(value, ['flex']);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
align: {
|
|
|
|
validator (value) {
|
|
|
|
return oneOf(value, ['top', 'middle', 'bottom']);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
justify: {
|
|
|
|
validator (value) {
|
|
|
|
return oneOf(value, ['start', 'end', 'center', 'space-around', 'space-between']);
|
|
|
|
}
|
|
|
|
},
|
2016-10-31 22:28:13 +08:00
|
|
|
gutter: {
|
|
|
|
type: Number,
|
|
|
|
default: 0
|
|
|
|
},
|
2016-09-09 14:29:19 +08:00
|
|
|
className: String
|
|
|
|
},
|
|
|
|
computed: {
|
|
|
|
classes () {
|
|
|
|
return [
|
|
|
|
{
|
2016-12-26 14:50:39 +08:00
|
|
|
[`${prefixCls}`]: !this.type,
|
2016-09-09 14:29:19 +08:00
|
|
|
[`${prefixCls}-${this.type}`]: !!this.type,
|
|
|
|
[`${prefixCls}-${this.type}-${this.align}`]: !!this.align,
|
|
|
|
[`${prefixCls}-${this.type}-${this.justify}`]: !!this.justify,
|
|
|
|
[`${this.className}`]: !!this.className
|
|
|
|
}
|
2016-12-25 22:49:42 +08:00
|
|
|
];
|
2016-10-31 22:28:13 +08:00
|
|
|
},
|
|
|
|
styles () {
|
|
|
|
let style = {};
|
|
|
|
if (this.gutter !== 0) {
|
|
|
|
style = {
|
|
|
|
marginLeft: this.gutter / -2 + 'px',
|
|
|
|
marginRight: this.gutter / -2 + 'px'
|
2016-12-25 22:49:42 +08:00
|
|
|
};
|
2016-10-31 22:28:13 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
return style;
|
2016-09-09 14:29:19 +08:00
|
|
|
}
|
2016-10-31 22:28:13 +08:00
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
updateGutter (val) {
|
|
|
|
this.$children.forEach((child) => {
|
|
|
|
if (val !== 0) {
|
|
|
|
child.gutter = val;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
},
|
|
|
|
watch: {
|
|
|
|
gutter (val) {
|
|
|
|
this.updateGutter(val);
|
|
|
|
}
|
2016-09-09 14:29:19 +08:00
|
|
|
}
|
2016-12-25 22:49:42 +08:00
|
|
|
};
|
|
|
|
</script>
|