输入框+滑动两种输入数值方式,输入验证

此博客介绍如何实现在WXML中,input和text元素同时工作,输入框根据滑动块变化动态调整,同时实现数值验证,确保面积在5到500平方米范围内,超出范围时给出提示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

input和text同行,同时滑动块根据输入框动态改变,同时验证是否数字,当输入值小于滑动范围时会提示过小(大)。

wxml:

<view wx:if='{{!changeStatus}}' class="view-contain-ti">
  <!-- 设置面积 -->
  <!-- <text class="text-ti">设置民宿面积</text> -->
  <view style="display:flex;align-items:center">
    <text>设置民宿面积(平方米):</text><input class="inputl" bindinput="usernameInput" placeholder="输入5-500的数字" value="{{inputValue}}"/>
  </view>
  <view class="intro">
    <slider bindchange="sliderchange" min="{{minValue}}" max="{{maxValue}}" block-size="20" value="{{areaValue}}" show-value />
  </view>
</view>

 js:

 //实时获取数据
    usernameInput: function (e) {
        let value = this.validateNumber(e.detail.value);
        if(value<=500&&value>=5){
            this.setData({
                areaValue: value
            })
        }else if(value<5){
            wx.showToast({
                title: "面积设置过小!", // 提示的内容
                icon: "none", // 图标,默认success
                image: "", // 自定义图标的本地路径,image 的优先级高于 icon
                duration: 700, // 提示的延迟时间,默认1500
                mask: false, // 是否显示透明蒙层,防止触摸穿透
        })
            this.setData({
                areaValue: 5
            })
        }else if(value>500){
            wx.showToast({
                title: "面积设置过大!", // 提示的内容
                icon: "none", // 图标,默认success
                image: "", // 自定义图标的本地路径,image 的优先级高于 icon
                duration: 700, // 提示的延迟时间,默认1500
                mask: false, // 是否显示透明蒙层,防止触摸穿透
        })
            this.setData({
                areaValue: 500
            })
        }else{
            this.setData({
                areaValue: 5,
                inputValue:''
            })
        }

    },
    //数字限制
    validateNumber(val) {
        return val.replace(/\D/g, '')
    },
     /**
     * slider滑动监听事件,滑动选择面积大小
     */
    sliderchange: function (e) {
        this.setData({
            textValue: '设置民宿面积:' + e.detail.value + ' 平方米',
            areaValue: e.detail.value,
            inputValue:e.detail.value
        })
        console.log(`当前值`, this.data.areaValue)
    },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值