From da25434b85fc5b4321c429bf95e719d00ec395bb Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Thu, 11 Jan 2024 16:21:16 +0800
Subject: [PATCH] 定位优化
---
uni_modules/uview-ui/components/u-empty/u-empty.vue | 128 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 128 insertions(+), 0 deletions(-)
diff --git a/uni_modules/uview-ui/components/u-empty/u-empty.vue b/uni_modules/uview-ui/components/u-empty/u-empty.vue
new file mode 100644
index 0000000..03d6a27
--- /dev/null
+++ b/uni_modules/uview-ui/components/u-empty/u-empty.vue
@@ -0,0 +1,128 @@
+<template>
+ <view
+ class="u-empty"
+ :style="[emptyStyle]"
+ v-if="show"
+ >
+ <u-icon
+ v-if="!isSrc"
+ :name="mode === 'message' ? 'chat' : `empty-${mode}`"
+ :size="iconSize"
+ :color="iconColor"
+ margin-top="14"
+ ></u-icon>
+ <image
+ v-else
+ :style="{
+ width: $u.addUnit(width),
+ height: $u.addUnit(height),
+ }"
+ :src="icon"
+ mode="widthFix"
+ ></image>
+ <text
+ class="u-empty__text"
+ :style="[textStyle]"
+ >{{text ? text : icons[mode]}}</text>
+ <view class="u-empty__wrap" v-if="$slots.default || $slots.$default">
+ <slot />
+ </view>
+ </view>
+</template>
+
+<script>
+ import props from './props.js';
+
+ /**
+ * empty ������������
+ * @description ������������������������������������������������������������������������������������������"������������"������������ ������������������������������������������������������������������
+ * @tutorial https://www.uviewui.com/components/empty.html
+ * @property {String} icon ���������������������������������������������������������
+ * @property {String} text ������������
+ * @property {String} textColor ������������ (������ '#c0c4cc' )
+ * @property {String | Number} textSize ������������ ��������� 14 ���
+ * @property {String} iconColor ��������������� ��������� '#c0c4cc' ���
+ * @property {String | Number} iconSize ��������������� ��������� 90 ���
+ * @property {String} mode ��������������������������� ��������� 'data' ���
+ * @property {String | Number} width ���������������������px ��������� 160 ���
+ * @property {String | Number} height ���������������������px ��������� 160 ���
+ * @property {Boolean} show ������������������ ��������� true ���
+ * @property {String | Number} marginTop ���������������������������������������������������px������ ��������� 0 ���
+ * @property {Object} customStyle ���������������������������������
+ *
+ * @event {Function} click ���������������������
+ * @event {Function} close ���������������������������
+ * @example <u-empty text="���������������������������" mode="list"></u-empty>
+ */
+ export default {
+ name: "u-empty",
+ mixins: [uni.$u.mpMixin, uni.$u.mixin, props],
+ data() {
+ return {
+ icons: {
+ car: '���������������',
+ page: '���������������',
+ search: '������������������',
+ address: '������������������',
+ wifi: '������WiFi',
+ order: '������������',
+ coupon: '���������������',
+ favor: '������������',
+ permission: '���������',
+ history: '���������������',
+ news: '���������������',
+ message: '������������������',
+ list: '������������',
+ data: '������������',
+ comment: '������������',
+ }
+ }
+ },
+ computed: {
+ // ������������
+ emptyStyle() {
+ const style = {}
+ style.marginTop = uni.$u.addUnit(this.marginTop)
+ // ������customStyle������������������������mixin������props������
+ return uni.$u.deepMerge(uni.$u.addStyle(this.customStyle), style)
+ },
+ // ������������
+ textStyle() {
+ const style = {}
+ style.color = this.textColor
+ style.fontSize = uni.$u.addUnit(this.textSize)
+ return style
+ },
+ // ������icon������������������
+ isSrc() {
+ return this.icon.indexOf('/') >= 0
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ @import '../../libs/css/components.scss';
+ $u-empty-text-margin-top:20rpx !default;
+ $u-empty-slot-margin-top:20rpx !default;
+
+ .u-empty {
+ @include flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+
+ &__text {
+ @include flex;
+ justify-content: center;
+ align-items: center;
+ margin-top: $u-empty-text-margin-top;
+ }
+ }
+ .u-slot-wrap {
+ @include flex;
+ justify-content: center;
+ align-items: center;
+ margin-top:$u-empty-slot-margin-top;
+ }
+</style>
--
Gitblit v1.8.0