uniapp下type为digit的输入框在后面显示固定文字

效果

在这里插入图片描述

在这里插入图片描述

实现思路

<view class="form_name">金额(元):</view>
<view class="weui-cell weui-cell_input">
	<input class="weui-input money-input money-input1" ref="moneyInput" maxlength="14" type="digit" @input="moneyFun" @focus="focusMoneyInput" @blur="blurMoneyInput" @keyboardheightchange="moneyInputHeightChange" :disabled="flag" placeholder="" />
	<input class="weui-input money-input" disabled ref="moneyInput" type="text" :value="money" placeholder="请输入金额" />
</view>

创建两个input,用定位将他们重叠在一起上层input的type设置为"digit",下层input的type设置为"text".
上层的字体颜色设置成透明,上层负责输入绑定事件,下层负责显示文本.

	// 金额获取焦点,去掉后缀:元
	focusMoneyInput() {
		if (this.money.length < 2) return
		if (typeof this.money == "number" || -1 !== this.money.indexOf('元')) {
			this.setData({
				money: parseInt(this.money)
			})
		}
	},
	// 金额失去焦点,添加后缀:元
	blurMoneyInput() {
		if (typeof this.money == "number" || -1 === this.money.indexOf('元')) {
			this.setData({
				money: this.money += "元"
			})
		}
	},
	// 键盘高度发生变化时触发
	moneyInputHeightChange() {
		if (typeof this.money == "number" || -1 === this.money.indexOf('元')) {
			this.setData({
				money: this.money += "元"
			})
		}
	}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值