114 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Python
		
	
	
	
| <template>
 | ||
| 	<view class="u-demo">
 | ||
| 		<view class="u-demo-wrap" style="padding-left:0;padding-right:0;margin-left: -40rpx;margin-right: -40rpx;">
 | ||
| 			<view class="u-demo-title">演示效果</view>
 | ||
| 			<view class="u-demo-area">
 | ||
| 				<u-cell-group title="读万卷书">
 | ||
| 					<u-cell-item center :is-link="true" :label="label" value="铁马冰河入梦来" i ndex="index" @click="click" :hover-class="hoverClass"
 | ||
| 					 :arrow="arrow" :title="title" :icon="icon">
 | ||
| 						<u-badge :absolute="false" v-if="rightSlot == 'badge'" count="105" slot="right-icon"></u-badge>
 | ||
| 						<u-switch v-if="rightSlot == 'switch'" slot="right-icon" v-model="checked"></u-switch>
 | ||
| 					</u-cell-item>
 | ||
| 					<u-cell-item :border-bottom="false" value="" title="铁马冰河入梦来" value="行万里路" :arrow="false">
 | ||
| 						<u-icon slot="icon" size="34" name="calendar" style="margin-right: 5px;"></u-icon>
 | ||
| 						<u-icon slot="right-icon" size="34" name="calendar"></u-icon>
 | ||
| 						<u-field slot="value"></u-field>
 | ||
| 					</u-cell-item>
 | ||
| 				</u-cell-group>
 | ||
| 			</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 vibrateShort :list="['是', '否']" @change="iconChange"></u-subsection>
 | ||
| 			</view>
 | ||
| 			<!-- QQ小程序无法动态切换slot -->
 | ||
| 			<!-- #ifndef MP-QQ -->
 | ||
| 			<view class="u-config-item">
 | ||
| 				<view class="u-item-title">自定义右侧内容</view>
 | ||
| 				<u-subsection vibrateShort :list="['文字', 'Switch组件', 'Badge组件']" @change="rightSlotChange"></u-subsection>
 | ||
| 			</view>
 | ||
| 			<!-- #endif -->
 | ||
| 			<view class="u-config-item">
 | ||
| 				<view class="u-item-title">描述信息</view>
 | ||
| 				<u-subsection vibrateShort current="1" :list="['是', '否']" @change="lableChange"></u-subsection>
 | ||
| 			</view>
 | ||
| 			<view class="u-config-item">
 | ||
| 				<view class="u-item-title">更换标题</view>
 | ||
| 				<u-subsection vibrateShort :list="['是', '否']" @change="titleChange"></u-subsection>
 | ||
| 			</view>
 | ||
| 			<view class="u-config-item">
 | ||
| 				<view class="u-item-title">右侧箭头</view>
 | ||
| 				<u-subsection vibrateShort :list="['是', '否']" @change="arrowChange"></u-subsection>
 | ||
| 			</view>
 | ||
| 		</view>
 | ||
| 	</view>
 | ||
| </template>
 | ||
| 
 | ||
| <script>
 | ||
| 	export default {
 | ||
| 		data() {
 | ||
| 			return {
 | ||
| 				icon: 'setting',
 | ||
| 				arrow: true,
 | ||
| 				label: '',
 | ||
| 				title: '青山一道同云雨',
 | ||
| 				rightSlot: true,
 | ||
| 				checked: false,
 | ||
| 			}
 | ||
| 		},
 | ||
| 		computed: {
 | ||
| 			hoverClass() {
 | ||
| 				// 如果右侧是switch步进器组件的话,去掉cell的点击反馈,因为这个时候点击的反馈应该在switch上
 | ||
| 				return this.rightSlot == 'switch' ? 'none' : 'u-cell-hover';
 | ||
| 			}
 | ||
| 		},
 | ||
| 		methods: {
 | ||
| 			iconChange(index) {
 | ||
| 				this.icon = index == 0 ? 'setting' : 'file-text'
 | ||
| 			},
 | ||
| 			arrowChange(index) {
 | ||
| 				this.arrow = index == 0 ? true : false
 | ||
| 			},
 | ||
| 			lableChange(index) {
 | ||
| 				this.label = index == 0 ? '岂曰无衣,与子同裳' : ''
 | ||
| 			},
 | ||
| 			titleChange(index) {
 | ||
| 				this.title = index == 0 ? '青山一道同云雨' : '明月何曾是两乡'
 | ||
| 			},
 | ||
| 			rightSlotChange(index) {
 | ||
| 				this.rightSlot = index == 0 ? 'text' : index == 1 ? 'switch' : 'badge'
 | ||
| 				if (index == 0) this.arrow = true;
 | ||
| 				else this.arrow = false;
 | ||
| 			},
 | ||
| 			click(index) {
 | ||
| 				// console.log(index);
 | ||
| 			}
 | ||
| 		}
 | ||
| 	};
 | ||
| </script>
 | ||
| 
 | ||
| <style lang="scss" scoped>
 | ||
| 	.gab {
 | ||
| 		background-color: rgb(245, 245, 245);
 | ||
| 		height: 20rpx;
 | ||
| 	}
 | ||
| 
 | ||
| 	.wrap {
 | ||
| 		height: 100vh;
 | ||
| 		background-color: rgb(241, 241, 241);
 | ||
| 	}
 | ||
| 
 | ||
| 	.box {
 | ||
| 		padding: 30rpx 00rpx;
 | ||
| 		font-size: 28rpx;
 | ||
| 		color: $u-type-info;
 | ||
| 		display: flex;
 | ||
| 		align-items: center;
 | ||
| 		justify-content: space-between;
 | ||
| 	}
 | ||
| </style>
 |