小程序 底部fixed输入框

 keyboardheightchange 主要用这个事件,实施获取键盘的高度和过渡的时间,其他的事件去获取,都没有这个好

输入框每次都需要销毁再创建出来,这样才能聚焦

<template>
	<view class="module" @click="modelHandel" v-show="showModel">
		<view @click.stop v-if="showModel" class="inputBox" :style="{ bottom: keyboard + 'px', transition: `all ${duration}` }">
			<input type="text" placeholder="请输入" :adjust-position="false" @input="changvalue" :value="value" :focus="true" @keyboardheightchange="keyboardchange" />
		</view>
	</view>
</template>
<script>
export default {
	props: {
		value: '',
		showModel: false,
	},
	data() {
		return {
			keyboard: 0,
			duration: 0,
		}
	},
	methods: {
		modelHandel() {
			this.$emit('update:showModel', false)
		},
		changvalue(e) {
			this.$emit('input', e.detail.value)
		},
		keyboardchange(event) {
			this.keyboard = event.detail.height
			this.duration = event.detail.duration
		},
	},
}
</script>

<style scoped lang="scss">
.module {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	background: rgba($color: #000000, $alpha: 0.5);
	z-index: 99999;
	.inputBox {
		position: absolute;
		bottom: 0;
		background: #fff;
		right: 0;
		width: 100%;
		height: 100rpx;
	}
}
</style>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值