49306c7a
梁灏
add Collapse comp...
|
1
2
3
4
5
6
|
<template>
<div :class="itemClasses">
<div :class="headerClasses" @click="toggle">
<Icon type="arrow-right-b"></Icon>
<slot></slot>
</div>
|
a190ce84
梁灏
support Collapse
|
7
|
<div :class="contentClasses" v-show="isActive">
|
49306c7a
梁灏
add Collapse comp...
|
8
9
10
11
12
|
<div :class="boxClasses"><slot name="content"></slot></div>
</div>
</div>
</template>
<script>
|
b923c818
梁灏
update Tree
|
13
|
import Icon from '../icon/icon.vue';
|
49306c7a
梁灏
add Collapse comp...
|
14
15
16
17
18
|
const prefixCls = 'ivu-collapse';
export default {
components: { Icon },
props: {
|
a190ce84
梁灏
support Collapse
|
19
|
name: {
|
49306c7a
梁灏
add Collapse comp...
|
20
21
22
23
24
|
type: String
}
},
data () {
return {
|
a190ce84
梁灏
support Collapse
|
25
|
index: 0, // use index for default when name is null
|
49306c7a
梁灏
add Collapse comp...
|
26
|
isActive: false
|
b0893113
jingsam
add eslint
|
27
|
};
|
49306c7a
梁灏
add Collapse comp...
|
28
29
30
31
32
33
34
35
|
},
computed: {
itemClasses () {
return [
`${prefixCls}-item`,
{
[`${prefixCls}-item-active`]: this.isActive
}
|
b0893113
jingsam
add eslint
|
36
|
];
|
49306c7a
梁灏
add Collapse comp...
|
37
38
39
40
|
},
headerClasses () {
return `${prefixCls}-header`;
},
|
a190ce84
梁灏
support Collapse
|
41
|
contentClasses () {
|
49306c7a
梁灏
add Collapse comp...
|
42
43
44
45
46
47
48
49
|
return `${prefixCls}-content`;
},
boxClasses () {
return `${prefixCls}-content-box`;
}
},
methods: {
toggle () {
|
a190ce84
梁灏
support Collapse
|
50
|
// todo while向上查找
|
49306c7a
梁灏
add Collapse comp...
|
51
|
this.$parent.toggle({
|
a190ce84
梁灏
support Collapse
|
52
|
name: this.name || this.index,
|
49306c7a
梁灏
add Collapse comp...
|
53
54
55
56
|
isActive: this.isActive
});
}
}
|
b0893113
jingsam
add eslint
|
57
58
|
};
</script>
|