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.
		
		
		
		
		
			
		
			
				
					
					
						
							107 lines
						
					
					
						
							2.1 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							107 lines
						
					
					
						
							2.1 KiB
						
					
					
				
								<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>
							 |