v3.0.6
This commit is contained in:
46
source/wx/xzs-student/component/iView/collapse-item/index.js
Normal file
46
source/wx/xzs-student/component/iView/collapse-item/index.js
Normal file
@@ -0,0 +1,46 @@
|
||||
Component({
|
||||
externalClasses: ['i-class-content', 'i-class-title', 'i-class'],
|
||||
|
||||
relations: {
|
||||
'../collapse/index': {
|
||||
type: 'parent',
|
||||
linked: function (target) {
|
||||
const options = {
|
||||
accordion: target.data.accordion
|
||||
}
|
||||
if (target.data.name === this.data.name) {
|
||||
options.showContent = 'i-collapse-item-show-content';
|
||||
}
|
||||
this.setData(options);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
properties: {
|
||||
title: String,
|
||||
name: String
|
||||
},
|
||||
|
||||
data: {
|
||||
showContent: '',
|
||||
accordion: false
|
||||
},
|
||||
|
||||
options: {
|
||||
multipleSlots: true
|
||||
},
|
||||
|
||||
methods: {
|
||||
trigger(e) {
|
||||
const data = this.data;
|
||||
if (data.accordion) {
|
||||
this.triggerEvent('collapse', {name: data.name}, {composed: true, bubbles: true});
|
||||
} else {
|
||||
this.setData({
|
||||
showContent: data.showContent ? '' : 'i-collapse-item-show-content'
|
||||
});
|
||||
}
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"i-icon": "../icon/index"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
<view id="{{name}}" class="i-class i-collapse-item ">
|
||||
<view class="i-collapse-item-title-wrap" bindtap="trigger">
|
||||
<i-icon size="16" type="enter" i-class="{{ showContent ? 'i-collapse-item-arrow-show' : 'i-collapse-item-arrow' }}"/>
|
||||
<text class="i-collapse-item-title i-class-title">{{title}}</text>
|
||||
</view>
|
||||
<view class="i-collapse-item-content {{showContent}} i-class-content">
|
||||
<slot name="content"></slot>
|
||||
</view>
|
||||
</view>
|
||||
@@ -0,0 +1 @@
|
||||
.i-collapse-item{padding:2px 8px;border-top:1px solid #dddee1}.i-collapse-item-title{vertical-align:middle}.i-collapse-item-title-wrap{padding:2px 0 0}.i-collapse-item-content{padding:6px;display:none}.i-collapse-item-show-content{display:block}.i-collapse-item-arrow{transition:transform .2s ease-in-out}.i-collapse-item-arrow-show{transition:transform .2s ease-in-out;transform:rotate(90deg)}
|
||||
Reference in New Issue
Block a user