| | |
| | | <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" scoped> |
| | | $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> |
| | | <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" scoped>
|
| | | $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>
|