mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-01 02:38:43 +08:00 
			
		
		
		
	
		
			
	
	
		
			108 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
		
		
			
		
	
	
			108 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
|   | <template> | ||
|  | 	<!-- #ifdef APP-NVUE --> | ||
|  | 	<cell> | ||
|  | 		<!-- #endif --> | ||
|  | 		<view class="uni-list-ad"> | ||
|  | 			<view v-if="borderShow" :class="{'uni-list--border':border,'uni-list-item--first':isFirstChild}"></view> | ||
|  | 			<ad style="width: 200px;height: 300px;border-width: 1px;border-color: red;border-style: solid;" adpid="1111111111" | ||
|  | 			 unit-id="" appid="" apid="" type="feed" @error="aderror" @close="closeAd"></ad> | ||
|  | 		</view> | ||
|  | 		<!-- #ifdef APP-NVUE --> | ||
|  | 	</cell> | ||
|  | 	<!-- #endif --> | ||
|  | 
 | ||
|  | </template> | ||
|  | 
 | ||
|  | <script> | ||
|  | 	// #ifdef APP-NVUE
 | ||
|  | 	const dom = uni.requireNativePlugin('dom'); | ||
|  | 	// #endif
 | ||
|  | 	export default { | ||
|  | 		name: 'UniListAd', | ||
|  | 		props: { | ||
|  | 			title: { | ||
|  | 				type: String, | ||
|  | 				default: '', | ||
|  | 
 | ||
|  | 			} | ||
|  | 		}, | ||
|  | 		// inject: ['list'],
 | ||
|  | 		data() { | ||
|  | 			return { | ||
|  | 				isFirstChild: false, | ||
|  | 				border: false, | ||
|  | 				borderShow: true, | ||
|  | 			} | ||
|  | 		}, | ||
|  | 
 | ||
|  | 		mounted() { | ||
|  | 			this.list = this.getForm() | ||
|  | 			if (this.list) { | ||
|  | 				if (!this.list.firstChildAppend) { | ||
|  | 					this.list.firstChildAppend = true | ||
|  | 					this.isFirstChild = true | ||
|  | 				} | ||
|  | 				this.border = this.list.border | ||
|  | 			} | ||
|  | 		}, | ||
|  | 		methods: { | ||
|  | 			/** | ||
|  | 			 * 获取父元素实例 | ||
|  | 			 */ | ||
|  | 			getForm(name = 'uniList') { | ||
|  | 				let parent = this.$parent; | ||
|  | 				let parentName = parent.$options.name; | ||
|  | 				while (parentName !== name) { | ||
|  | 					parent = parent.$parent; | ||
|  | 					if (!parent) return false | ||
|  | 					parentName = parent.$options.name; | ||
|  | 				} | ||
|  | 				return parent; | ||
|  | 			}, | ||
|  | 			aderror(e) { | ||
|  | 				console.log("aderror: " + JSON.stringify(e.detail)); | ||
|  | 			}, | ||
|  | 			closeAd(e) { | ||
|  | 				this.borderShow = false | ||
|  | 			} | ||
|  | 		} | ||
|  | 	} | ||
|  | </script> | ||
|  | 
 | ||
|  | <style lang="scss" > | ||
|  | 	.uni-list-ad { | ||
|  | 		position: relative; | ||
|  | 		border: 1px red solid; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	.uni-list--border { | ||
|  | 		position: relative; | ||
|  | 		padding-bottom: 1px; | ||
|  | 		/* #ifdef APP-PLUS */ | ||
|  | 		border-top-color: $uni-border-color; | ||
|  | 		border-top-style: solid; | ||
|  | 		border-top-width: 0.5px; | ||
|  | 		/* #endif */ | ||
|  | 		margin-left: $uni-spacing-row-lg; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/* #ifndef APP-NVUE */ | ||
|  | 	.uni-list--border:after { | ||
|  | 		position: absolute; | ||
|  | 		top: 0; | ||
|  | 		right: 0; | ||
|  | 		left: 0; | ||
|  | 		height: 1px; | ||
|  | 		content: ''; | ||
|  | 		-webkit-transform: scaleY(.5); | ||
|  | 		transform: scaleY(.5); | ||
|  | 		background-color: $uni-border-color; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	.uni-list-item--first:after { | ||
|  | 		height: 0px; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/* #endif */ | ||
|  | </style> |