From f26f29d84e0a68831a6af14dab3eec5500496d2e Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 28 五月 2025 16:48:52 +0800
Subject: [PATCH] 初始化项目

---
 uview-ui/components/u-divider/u-divider.vue |  153 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 153 insertions(+), 0 deletions(-)

diff --git a/uview-ui/components/u-divider/u-divider.vue b/uview-ui/components/u-divider/u-divider.vue
new file mode 100644
index 0000000..6f8d7e6
--- /dev/null
+++ b/uview-ui/components/u-divider/u-divider.vue
@@ -0,0 +1,153 @@
+<template>
+	<view class="u-divider" :style="{
+		height: height == 'auto' ? 'auto' : height + 'rpx',
+		backgroundColor: bgColor,
+		marginBottom: marginBottom + 'rpx',
+		marginTop: marginTop + 'rpx'
+	}" @tap="click">
+		<view class="u-divider-line" :class="[type ? 'u-divider-line--bordercolor--' + type : '']" :style="[lineStyle]"></view>
+		<view v-if="useSlot" class="u-divider-text" :style="{
+			color: color,
+			fontSize: fontSize + 'rpx'
+		}"><slot /></view>
+		<view class="u-divider-line" :class="[type ? 'u-divider-line--bordercolor--' + type : '']" :style="[lineStyle]"></view>
+	</view>
+</template>
+
+<script>
+/**
+ * divider 鍒嗗壊绾�
+ * @description 鍖洪殧鍐呭鐨勫垎鍓茬嚎锛屼竴鑸敤浜庨〉闈㈠簳閮�"娌℃湁鏇村"鐨勬彁绀恒��
+ * @tutorial https://www.uviewui.com/components/divider.html
+ * @property {String Number} half-width 鏂囧瓧宸︽垨鍙宠竟绾挎潯瀹藉害锛屾暟鍊兼垨鐧惧垎姣旓紝鏁板�兼椂鍗曚綅涓簉px
+ * @property {String} border-color 绾挎潯棰滆壊锛屼紭鍏堢骇楂樹簬type锛堥粯璁�#dcdfe6锛�
+ * @property {String} color 鏂囧瓧棰滆壊锛堥粯璁�#909399锛�
+ * @property {String Number} fontSize 瀛椾綋澶у皬锛屽崟浣峳px锛堥粯璁�26锛�
+ * @property {String} bg-color 鏁翠釜divider鐨勮儗鏅鑹诧紙榛樿鍛�#ffffff锛�
+ * @property {String Number} height 鏁翠釜divider鐨勯珮搴︼紝鍗曚綅rpx锛堥粯璁�40锛�
+ * @property {String} type 灏嗙嚎鏉¤缃富棰樿壊锛堥粯璁rimary锛�
+ * @property {Boolean} useSlot 鏄惁浣跨敤slot浼犲叆鍐呭锛屽鏋滀笉浼犲叆锛屼腑闂翠笉浼氭湁绌洪殭锛堥粯璁rue锛�
+ * @property {String Number} margin-top 涓庡墠涓�涓粍浠剁殑璺濈锛屽崟浣峳px锛堥粯璁�0锛�
+ * @property {String Number} margin-bottom 涓庡悗涓�涓粍浠剁殑璺濈锛屽崟浣峳px锛�0锛�
+ * @event {Function} click divider缁勪欢琚偣鍑绘椂瑙﹀彂
+ * @example <u-divider color="#fa3534">闀挎渤钀芥棩鍦�</u-divider>
+ */
+export default {
+	name: 'u-divider',
+	props: {
+		// 鍗曚竴杈筪ivider妯嚎鐨勫搴�(鏁板��)锛屽崟浣峳px銆傛垨鑰呯櫨鍒嗘瘮
+		halfWidth: {
+			type: [Number, String],
+			default: 150
+		},
+		// divider妯嚎鐨勯鑹诧紝濡傝缃紝
+		borderColor: {
+			type: String,
+			default: '#dcdfe6'
+		},
+		// 涓婚鑹诧紝鍙互鏄痯rimary|info|success|warning|error涔嬩竴鍊�
+		type: {
+			type: String,
+			default: 'primary'
+		},
+		// 鏂囧瓧棰滆壊
+		color: {
+			type: String,
+			default: '#909399'
+		},
+		// 鏂囧瓧澶у皬锛屽崟浣峳px
+		fontSize: {
+			type: [Number, String],
+			default: 26
+		},
+		// 鏁翠釜divider鐨勮儗鏅鑹�
+		bgColor: {
+			type: String,
+			default: '#ffffff'
+		},
+		// 鏁翠釜divider鐨勯珮搴﹀崟浣峳px
+		height: {
+			type: [Number, String],
+			default: 'auto'
+		},
+		// 涓婅竟璺�
+		marginTop: {
+			type: [String, Number],
+			default: 0
+		},
+		// 涓嬭竟璺�
+		marginBottom: {
+			type: [String, Number],
+			default: 0
+		},
+		// 鏄惁浣跨敤slot浼犲叆鍐呭锛屽鏋滀笉鐢╯lot浼犲叆鍐呭锛屽厛鐨勪腑闂村氨涓嶄細鏈夌┖闅�
+		useSlot: {
+			type: Boolean,
+			default: true
+		}
+	},
+	computed: {
+		lineStyle() {
+			let style = {};
+			if(String(this.halfWidth).indexOf('%') != -1) style.width = this.halfWidth;
+			else style.width = this.halfWidth + 'rpx';
+			// borderColor浼樺厛绾ч珮浜巘ype鍊�
+			if(this.borderColor) style.borderColor = this.borderColor;
+			return style;
+		}
+	},
+	methods: {
+		click() {
+			this.$emit('click');
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+@import "../../libs/css/style.components.scss";
+.u-divider {
+	width: 100%;
+	position: relative;
+	text-align: center;
+	@include vue-flex;
+	justify-content: center;
+	align-items: center;
+	overflow: hidden;
+	flex-direction: row;
+}
+
+.u-divider-line {
+	border-bottom: 1px solid $u-border-color;
+	transform: scale(1, 0.5);
+	transform-origin: center;
+	
+	&--bordercolor--primary {
+		border-color: $u-type-primary;
+	}
+	
+	&--bordercolor--success {
+		border-color: $u-type-success;
+	}
+	
+	&--bordercolor--error {
+		border-color: $u-type-primary;
+	}
+	
+	&--bordercolor--info {
+		border-color: $u-type-info;
+	}
+	
+	&--bordercolor--warning {
+		border-color: $u-type-warning;
+	}
+}
+
+.u-divider-text {
+	white-space: nowrap;
+	padding: 0 16rpx;
+	/* #ifndef APP-NVUE */
+	display: inline-flex;		
+	/* #endif */
+}
+</style>

--
Gitblit v1.9.3