You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

143 lines
4.2 KiB

9 months ago
<template>
<view class="u-demo">
<view class="u-demo-wrap" style="background-color: #ffffff;">
<view class="u-demo-title">演示效果</view>
<view class="u-demo-area">
<u-toast ref="uToast"></u-toast>
<u-collapse v-if="key" :item-style="itemStyle" event-type="close" :arrow="arrow" :accordion="accordion" @change="change">
<u-collapse-item :index="index" @change="itemChange" :title="item.head" v-for="(item, index) in itemList" :key="index">
{{item.body}}
</u-collapse-item>
</u-collapse>
</view>
</view>
<view class="u-config-wrap">
<view class="u-config-title u-border-bottom">
参数配置
</view>
<view class="u-config-item">
<view class="u-item-title">手风琴模式</view>
<u-subsection :list="['是', '否']" @change="accordionChange"></u-subsection>
</view>
<view class="u-config-item">
<view class="u-item-title">右侧箭头</view>
<u-subsection :list="['显示', '隐藏']" @change="arrowChange"></u-subsection>
</view>
<view class="u-config-item">
<view class="u-item-title">自定义样式</view>
<u-subsection current="1" :list="['是', '否']" @change="styleChange"></u-subsection>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
itemList: [{
head: "赏识在于角度的转换",
body: "只要我们正确择取一个合适的参照物乃至稍降一格去看待他人,值得赏识的东西便会扑面而来:闪光的道德、妙异的智慧、优美的人情…… 赏识不是单向的施舍,是智慧与智慧的主动碰撞",
show: false,
}, {
head: "生活中不是缺少美,而是缺少发现美的眼睛",
body: "学会欣赏,实际是一种积极生活的态度,是生活的调味品,会在欣赏中发现生活的美",
show: false,
}, {
head: "周围一些不起眼的人、事、物,或许都隐藏着不同凡响的智慧",
body: "但是据说雕刻大卫像所用的这块大理石,曾被多位雕刻家批评得一无是处,有些人认为这块大理石采凿得不好,有些人嫌它的纹路不够美,用它绝对雕不出好的艺术品,总之它被批评为一块不受人赏识的普通石头",
show: false,
}, {
head: "点燃心中的火焰,找回了自信和人生的价值",
body: "他随手翻了几页,竟被一篇题名为《童年》的小说所吸引,作者是一个初出茅庐的无名小辈,但屠格涅夫却十分欣赏,钟爱有加",
show: false,
}, {
head: "因为赏识,那块被人不耻的石头变成了雕塑",
body: "这个材料反应的就是赏识的问题,赏识是一种理解和信任,包含了肯定与欣赏,也是一种激励和引导,可以使人悔过自新,扬长避短,更健康地成长和进步",
show: false,
}],
accordion: true,
arrow: true,
hoverClass: 'hover2',
itemStyle: {},
key: true
}
},
methods: {
accordionChange(index) {
this.accordion = index == 0 ? true : false;
},
arrowChange(index) {
this.arrow = index == 0 ? true : false;
this.changeStatus();
},
styleChange(index) {
if(index == 0) {
this.itemStyle = {
border: '1px solid rgb(230, 230, 230)',
marginTop: '20px',
padding: '0 8rpx'
}
} else {
this.itemStyle = {}
}
this.changeStatus();
},
change(index) {
let str = '';
if(Array.isArray(index)) {
let arr = index.map(val => {
return Number(val) + 1;
})
index = arr.join(',');
} else {
index = Number(index) + 1;
}
this.$refs.uToast.show({
title: `点击了第${index}`,
type: 'warning'
})
},
itemChange(e) {
console.log(e);
},
changeStatus() {
this.key = false;
this.$nextTick(function(){
this.key = true;
})
}
}
}
</script>
<style>
.hover1 {
background-color: red;
}
</style>
<style lang="scss" scoped>
.wrap {
// padding: 24rpx;
}
.item {
//padding: 0 24rpx;
}
.head {
font-size: 30rpx;
color: $u-main-color;
line-height: 1;
padding: 24rpx 24rpx;
}
.body {
font-size: 28rpx;
color: $u-tips-color;
line-height: 1.4;
padding: 24rpx;
}
</style>