c-button.vue 1.8 KB
<template>
	<view class="u-button">
		<u-button :text="text" color="#0CB17A" :plain="false" :hairline="false" :disabled="disabled" :throttleTime="1500"
			type="info" shape="circle" :open-type="openType" @getphonenumber="getPhoneNumber"
			:custom-style="getCustomStyle" @click="click">
		</u-button>
	</view>
</template>

<script>
	export default {
		name: 'u-button',
		props: {
			text: {
				type: String,
				default: ''
			},
			type: {
				type: String,
				default: 'confirm'
			},
			openType: {
				type: String,
				default: ''
			},
			disabled: {
				type: Boolean,
				default: false
			},
			customStyle: {
				type: Object,
				default () {
					return {}
				}
			},
			color: {
				type: String,
				default: ''
			},

		},
		data() {
			return {}
		},

		watch: {
			buttonType: function(newVal, oldVal) {
				switch (this.type) {
					case 'confirm':
						this.color = "#0CB17A";
						break;
				}
			}
		},

		computed: {
			// getCustomStyle() {

			// 	const {
			// 		type = ''
			// 	} = this;

			// 	let style = {};

			// 	switch (type) {
			// 		case 'confirm':
			// 			return Object.assign({}, {
			// 				backgroundColor: '#FF001A',
			// 				borderRadius: '8rpx',
			// 			}, this.customStyle);
			// 			break;

			// 		case 'cancel':
			// 			return Object.assign({}, {
			// 				backgroundColor: "rgba(0,0,0,0.15)",
			// 				borderRadius: '8rpx',
			// 			}, this.customStyle);
			// 			break;

			// 		case 'custom':
			// 			return Object.assign({}, this.customStyle);
			// 			break;
			// 	}
			// }
		},
		methods: {
			// 按钮点击
			click(e) {
				this.$emit('click', e);
			},

			getPhoneNumber(e) {
				this.$emit("getPhoneNumber", e)
			}
		}
	}
</script>

<style lang="scss">

</style>