| <template> | 
|     <!-- #ifndef APP-NVUE --> | 
|     <view class="uni-list uni-border-top-bottom"> | 
|         <view v-if="border" class="uni-list--border-top"></view> | 
|         <slot /> | 
|         <view v-if="border" class="uni-list--border-bottom"></view> | 
|     </view> | 
|     <!-- #endif --> | 
|     <!-- #ifdef APP-NVUE --> | 
|     <list class="uni-list" :class="{ 'uni-list--border': border }" :enableBackToTop="enableBackToTop" loadmoreoffset="15"><slot /></list> | 
|     <!-- #endif --> | 
| </template> | 
|   | 
| <script> | 
| /** | 
|  * List 列表 | 
|  * @description 列表组件 | 
|  * @tutorial https://ext.dcloud.net.cn/plugin?id=24 | 
|  * @property {String}     border = [true|false]         标题 | 
|  */ | 
| export default { | 
|     name: 'uniList', | 
|     'mp-weixin': { | 
|         options: { | 
|             multipleSlots: false | 
|         } | 
|     }, | 
|     props: { | 
|         enableBackToTop: { | 
|             type: [Boolean, String], | 
|             default: false | 
|         }, | 
|         scrollY: { | 
|             type: [Boolean, String], | 
|             default: false | 
|         }, | 
|         border: { | 
|             type: Boolean, | 
|             default: true | 
|         } | 
|     }, | 
|     // provide() { | 
|     //     return { | 
|     //         list: this | 
|     //     }; | 
|     // }, | 
|     created() { | 
|         this.firstChildAppend = false; | 
|     }, | 
|     methods: { | 
|         loadMore(e) { | 
|             this.$emit('scrolltolower'); | 
|         } | 
|     } | 
| }; | 
| </script> | 
| <style lang="scss" > | 
| $uni-bg-color:#ffffff; | 
| $uni-border-color:#e5e5e5; | 
| .uni-list { | 
|     /* #ifndef APP-NVUE */ | 
|     display: flex; | 
|     /* #endif */ | 
|     background-color: $uni-bg-color; | 
|     position: relative; | 
|     flex-direction: column; | 
| } | 
|   | 
| .uni-list--border { | 
|     position: relative; | 
|     /* #ifdef APP-NVUE */ | 
|     border-top-color: $uni-border-color; | 
|     border-top-style: solid; | 
|     border-top-width: 0.5px; | 
|     border-bottom-color: $uni-border-color; | 
|     border-bottom-style: solid; | 
|     border-bottom-width: 0.5px; | 
|     /* #endif */ | 
|     z-index: -1; | 
| } | 
|   | 
| /* #ifndef APP-NVUE */ | 
|   | 
| .uni-list--border-top { | 
|     position: absolute; | 
|     top: 0; | 
|     right: 0; | 
|     left: 0; | 
|     height: 1px; | 
|     -webkit-transform: scaleY(0.5); | 
|     transform: scaleY(0.5); | 
|     background-color: $uni-border-color; | 
|     z-index: 1; | 
| } | 
|   | 
| .uni-list--border-bottom { | 
|     position: absolute; | 
|     bottom: 0; | 
|     right: 0; | 
|     left: 0; | 
|     height: 1px; | 
|     -webkit-transform: scaleY(0.5); | 
|     transform: scaleY(0.5); | 
|     background-color: $uni-border-color; | 
| } | 
|   | 
| /* #endif */ | 
| </style> |