replay class attr which using inline styles with computed props

This commit is contained in:
zhigang.li 2017-12-20 10:14:30 +08:00
parent 1c26d05c31
commit 76db49cd16

View file

@ -1,11 +1,11 @@
<template>
<div
:class="wrapClasses"
:style="{width: siderWidth + 'px', minWidth: siderWidth + 'px', maxWidth: siderWidth + 'px', flex: '0 0 ' + siderWidth + 'px'}">
:style="wrapStyles">
<span v-show="showZeroTrigger" @click="toggleCollapse" :class="zeroWidthTriggerClasses">
<i class="ivu-icon ivu-icon-navicon-round"></i>
</span>
<div :class="`${prefixCls}-children`">
<div :class="childClasses">
<slot></slot>
</div>
<div v-show="showBottomTrigger" :class="triggerClasses" @click="toggleCollapse" :style="{width: siderWidth + 'px'}">
@ -72,12 +72,23 @@
this.isCollapsed ? `${prefixCls}-collapsed` : ''
];
},
wrapStyles () {
return {
width: `${this.siderWidth}px`,
minWidth: `${this.siderWidth}px`,
maxWidth: `${this.siderWidth}px`,
flex: `0 0 ${this.siderWidth}px`
};
},
triggerClasses () {
return [
`${prefixCls}-trigger`,
this.isCollapsed ? `${prefixCls}-trigger-collapsed` : '',
];
},
childClasses () {
return `${this.prefixCls}-children`;
},
zeroWidthTriggerClasses () {
return [
`${prefixCls}-zero-width-trigger`,
@ -129,6 +140,9 @@
on(window, 'resize', this.onWindowResize);
this.matchMedia();
this.$emit('input', this.defaultCollapsed);
if (this.defaultCollapsed) {
this.isCollapsed = true;
}
},
destroyed () {
off(window, 'resize', this.onWindowResize);