179 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Vue
		
	
	
			
		
		
	
	
			179 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Vue
		
	
	
| <template>
 | |
| 	<view>
 | |
| 
 | |
| 		<view >
 | |
| 			<block v-if="item.children && item.children.length>0">
 | |
| 				<uni-collapse :accordion="true">
 | |
| 					<uni-collapse-item :title="item.title" :show-animation="item.animation">
 | |
| 						<collapse style="padding-left:30upx ;" @goToDetail="godetail" v-for="item in item.children" :key="item.id" :item="item"></collapse>
 | |
| 					</uni-collapse-item>
 | |
| 				</uni-collapse>
 | |
| 			</block>
 | |
| 			<block v-else>
 | |
| 					<text class="list-style" @click="godetail(item)">{{item.title}}</text>
 | |
| 			</block>
 | |
| 		</view>
 | |
| 	</view>
 | |
| </template>
 | |
| 
 | |
| <script>
 | |
| 	export default {
 | |
| 		name: "collapse",
 | |
| 		props: {
 | |
| 			item: {
 | |
| 				type: Object,
 | |
| 				default: function() {
 | |
| 					return {}
 | |
| 				}
 | |
| 			}
 | |
| 		},
 | |
| 		data() {
 | |
| 			return {
 | |
| 			}
 | |
| 		},
 | |
| 		methods: {
 | |
| 			change(e) {},
 | |
| 			godetail(item){
 | |
| 				this.$emit("goToDetail",item)
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| </script>
 | |
| 
 | |
| <style>
 | |
| 	@charset "UTF-8";
 | |
| 
 | |
| 	/* 头条小程序组件内不能引入字体 */
 | |
| 	/* #ifdef MP-TOUTIAO */
 | |
| 	@font-face {
 | |
| 		font-family: uniicons;
 | |
| 		font-weight: normal;
 | |
| 		font-style: normal;
 | |
| 		src: url("~@/static/uni.ttf") format("truetype");
 | |
| 	}
 | |
| 
 | |
| 	/* #endif */
 | |
| 	/* #ifndef APP-NVUE */
 | |
| 	page {
 | |
| 		display: flex;
 | |
| 		flex-direction: column;
 | |
| 		box-sizing: border-box;
 | |
| 		background-color: #efeff4;
 | |
| 		min-height: 100%;
 | |
| 		height: auto;
 | |
| 	}
 | |
| 
 | |
| 	view {
 | |
| 		font-size: 14px;
 | |
| 		line-height: inherit;
 | |
| 	}
 | |
| 
 | |
| 	.example {
 | |
| 		padding: 0 15px 15px;
 | |
| 	}
 | |
| 
 | |
| 	.example-info {
 | |
| 		padding: 15px;
 | |
| 		color: #3b4144;
 | |
| 		background: #ffffff;
 | |
| 	}
 | |
| 
 | |
| 	.example-body {
 | |
| 		/* #ifndef APP-NVUE */
 | |
| 		display: flex;
 | |
| 		/* #endif */
 | |
| 		flex-direction: row;
 | |
| 		flex-wrap: wrap;
 | |
| 		justify-content: center;
 | |
| 		padding: 0;
 | |
| 		font-size: 14px;
 | |
| 		background-color: #ffffff;
 | |
| 	}
 | |
| 
 | |
| 	/* #endif */
 | |
| 	.example {
 | |
| 		padding: 0 15px;
 | |
| 	}
 | |
| 
 | |
| 	.example-info {
 | |
| 		/* #ifndef APP-NVUE */
 | |
| 		display: block;
 | |
| 		/* #endif */
 | |
| 		padding: 15px;
 | |
| 		color: #3b4144;
 | |
| 		background-color: #ffffff;
 | |
| 		font-size: 14px;
 | |
| 		line-height: 20px;
 | |
| 	}
 | |
| 
 | |
| 	.example-info-text {
 | |
| 		font-size: 14px;
 | |
| 		line-height: 20px;
 | |
| 		color: #3b4144;
 | |
| 	}
 | |
| 
 | |
| 	.example-body {
 | |
| 		flex-direction: column;
 | |
| 		padding: 15px;
 | |
| 		background-color: #ffffff;
 | |
| 	}
 | |
| 
 | |
| 	.word-btn-white {
 | |
| 		font-size: 18px;
 | |
| 		color: #FFFFFF;
 | |
| 	}
 | |
| 
 | |
| 	.word-btn {
 | |
| 		/* #ifndef APP-NVUE */
 | |
| 		display: flex;
 | |
| 		/* #endif */
 | |
| 		flex-direction: row;
 | |
| 		align-items: center;
 | |
| 		justify-content: center;
 | |
| 		border-radius: 6px;
 | |
| 		height: 48px;
 | |
| 		margin: 15px;
 | |
| 		background-color: #007AFF;
 | |
| 	}
 | |
| 
 | |
| 	.word-btn--hover {
 | |
| 		background-color: #4ca2ff;
 | |
| 	}
 | |
| 
 | |
| 	.example-body {
 | |
| 		flex-direction: column;
 | |
| 		flex: 1;
 | |
| 	}
 | |
| 
 | |
| 	.content {
 | |
| 		padding: 15px;
 | |
| 		font-size: 14px;
 | |
| 		line-height: 20px;
 | |
| 		background-color: #f9f9f9;
 | |
| 		color: #666;
 | |
| 	}
 | |
| 
 | |
| 	.button {
 | |
| 		font-size: 26rpx;
 | |
| 		line-height: 90rpx;
 | |
| 	}
 | |
| 	.list-style{
 | |
| 		padding: 12px 12px;
 | |
| 		position: relative;
 | |
| 		/* #ifndef APP-NVUE */
 | |
| 		display: flex;
 | |
| 		width: 100%;
 | |
| 		box-sizing: border-box;
 | |
| 		/* #endif */
 | |
| 		height: 48px;
 | |
| 		line-height: 24px;
 | |
| 		flex-direction: row;
 | |
| 		justify-content: space-between;
 | |
| 		align-items: center;
 | |
| 		border-color: #e5e5e5;
 | |
| 		border-bottom-width: 1px;
 | |
| 		background-color: #fff;
 | |
| 		border-bottom-style: solid;
 | |
| 	}
 | |
| </style>
 |