From e1f70a62b31f326a6627d7975b17dd8304af7d90 Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期五, 06 十月 2023 16:23:24 +0800 Subject: [PATCH] # --- components/z-input/z-input.vue | 64 +++++++++++++++++++++----------- 1 files changed, 42 insertions(+), 22 deletions(-) diff --git a/components/z-input/z-input.vue b/components/z-input/z-input.vue index ab8a105..d87d95a 100644 --- a/components/z-input/z-input.vue +++ b/components/z-input/z-input.vue @@ -3,11 +3,13 @@ <view class="main"> <view class="inner1">{{desc}}</view> <view class="put inner2"> - <input class="p-input" type="text" :placeholder="placeholder" @input="input" v-model="val"> - <uni-icons class="p-icon" type="closeempty" size="16" color="#707070" v-show="val.length" @click="clear"></uni-icons> + <input class="p-input" type="text" :placeholder="placeholder" v-model="data" :focus="focusData"> + <uni-icons class="p-icon" type="closeempty" size="16" color="#707070" + v-show="data.length" @click="clear"> + </uni-icons> </view> <view class="inner3" v-show="btn"> - <button class="m-btn" size="mini">{{btnName}}</button> + <button class="m-btn" size="mini" @click="clickBtn">{{btnName}}</button> </view> </view> </view> @@ -16,6 +18,12 @@ <script> export default { name:"z-input", + data() { + return { + data:'', + focusData: false + }; + }, props: { desc: { type: String, @@ -34,39 +42,51 @@ default: '璇疯緭鍏�' }, value: { - type: String, + type: [String,Number], default: '' }, lenCheck: { type: [Number], default: null }, + focus: { + type: Boolean, + default: false + } }, watch: { - value(val) { - console.log(1); - this.val = val + data(val) { + if (!this.lenCheck) { + this.$emit('input',val) + return + } + if (val.length != this.lenCheck) { + setTimeout(()=>{ + this.data = '' + this.$emit('input','') + },10) + } else { + this.$emit('input',val) + } }, + focus(f) { + console.log(f); + this.focusData = !f + setTimeout(()=>{ + this.focusData = f + },10) + } }, created() { - this.val = this.value - }, - data() { - return { - val:'', - }; + this.data = this.value + this.focusData = this.focus }, methods: { - input() { - console.log(3); - if(this.val.length != this.lenCheck) { - this.val = '' - } - this.$emit('input',this.val); - }, clear() { - this.val = '' - this.input() + this.data = '' + }, + clickBtn() { + this.$emit('clickBtn'); } } } -- Gitblit v1.9.1