uniapp App端 解决input@input事件动态修改值不生效的问题

这篇具有很好参考价值的文章主要介绍了uniapp App端 解决input@input事件动态修改值不生效的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

解决方法

1.延迟修改,利用setTimeout

2.异步修改,利用this.$nextTick

<template>
    <view>
        <input v-modal="num" type="number" placeholder="请输入" :maxlength="3" @input="onInputOne" />
        <input v-modal="discount" type="number" placeholder="请输入" :maxlength="3" @input="onInputTwo" />
    </view>
</template>
<script>
    export default {
        data() {
            return {
                num: '',
                discount: ''
            }
        },
        methods: {
            // 这里举例折扣大于0,但是小于10,默认最小值为0,最大值为9.9
            // 第一种方法使用延时,H5端有效,但App端不是很完美,其他端未测
            onInputOne() {
                if (Number(this.num) < 0) {
                    this.num = '0'
                } else if (Number(this.num) >= 10) {
                    setTimeout(() => {    // 设置延迟10ms有效,App端设置0实测无效
                        this.num = '9.9'
                    }, 10)
                }
            },
 
            // 第二种方法使用异步修改,利用this.$nextTick实现
            onInputTwo() {
                if (Number(this.num) < 0) {
                    this.num = '0'
                } else if (Number(this.num) >= 10) {    // APP,H5端实测有用
                    this.$nextTick(() => {
                        this.num = '9.9'
                    })
                }
            }
        }
    }
</script>
<style>
 
</style>

文章来源地址https://www.toymoban.com/news/detail-427176.html

到了这里,关于uniapp App端 解决input@input事件动态修改值不生效的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue-给element-ui的input输入框绑定键盘事件不生效

    在vue中使用elementui的input组件绑定回车事件生效。 el-input @keyup.enter=\\\'方法\\\' /el-input 在vue中如果直接使用 v-on或@ 监听事件的话, 监听的是 由组件中使用$emit自定义的事件 , 例如下面代码。 使用 .native 修饰符, 告诉vue这是触发的 原生事件 不是 自定义事件 , 比如下面这个监听 ele

    2024年02月13日
    浏览(44)
  • uniapp中的input,输入input回车事件和输入input事件

    data定义 methods方法 实现效果--车辆信息点击搜索框实现,当输入值!==‘’--------实现搜索界面,点击键盘回车------------实现车辆信息界面 全部代码

    2024年02月11日
    浏览(31)
  • uniapp 在ios中u-input password显示密码 不生效

    找到u-input文件  修改源码 将原本的:password=\\\"password || type === \\\'password\\\' || undefined加上||false即可

    2024年01月25日
    浏览(27)
  • uniapp云打包成app后,在Android12手机上横屏样式未填满手机界面;在ios手机上横屏不生效;问题解决

    问题1:横屏在本地调试时是好的,云打包后在Android12上横屏样式宽度就只生效了一半。 解决:在onLoad中,定时500ms后再进行横屏操作(200ms不生效) 问题2:云打包后在ios中横屏不生效。 解决:在manifest.json文件中的app-plus下、app-plus中的distribute下都添加横竖屏设置代码,之前

    2024年02月12日
    浏览(45)
  • uniapp 之 uniapp的返回事件 onBackPress 在微信小程序中不生效的问题

    使用 uniapp 开发微信小程序 页面中点击左上角的返回按钮,监听返回操作,页面返回前执行了一些操作, uniapp 页面生命周期中有 onBackPress ,因此将操作写在了 onBackPress () 页面生命周期钩子当中, H5 测试一切正常,但是微信开发工具中调试的时候发现没有执行 原因 : uniapp的onBackPre

    2024年02月11日
    浏览(31)
  • uniapp学习之【uniapp的返回事件 onBackPress 在微信小程序中不生效的问题】

    uniapp 的返回事件 onBackPress 在微信小程序中不生效的问题 场景 :页面中点击左上角的返回按钮,监听返回操作,页面返回前执行了一些操作, uniapp 页面生命周期中有 onBackPress ,因此将操作写在了 onBackPress () 页面生命周期钩子当中, H5 测试一切正常,但是微信开发工具中调试的时候

    2024年02月16日
    浏览(31)
  • 【JS】动态添加的元素绑定点击事件在移动端不生效

    问题:使用js动态添加的元素,给该元素绑定了点击事件,在PC端一切正常触发,但是在移动端却无法触发方法。 原因:在移动端,绑定点击事件需要注意使用 touch 事件,而不是鼠标的 click 事件。 常用的触摸事件有:- touchstart:手指触摸屏幕时触发 - touchmove:手指滑动屏幕时连续触

    2024年02月15日
    浏览(32)
  • uni-app:监听数据变化(watch监听、@input事件)

    方法一:文本框监听,使用 @input 事件 方法二:使用watch监听属性(很好解决了文本框中数据非手输时监听不到数据变化)

    2024年02月10日
    浏览(31)
  • uniapp app安卓 键盘监听(无input)

    如图: 要实现点击asdfhjkl任意键唤起答题说明弹窗,弹窗唤起的情况下点击enter键关闭弹窗,无弹窗的情况下点击enter键直接开始挑战   事件说明链接:HTML5+ API Reference

    2024年02月12日
    浏览(35)
  • uniapp 的input组件在@input事件中限制用户可输入数值的范围,出现视图不更新的bug。

    在input事件拿到用户输入的值,然后给input组件绑定的值赋值之前,判断用户输入的不能超过最大值,超过的话默认为100,,这个判断和赋值然后视图更新只能触发一次,之后在输入,发现值改了页面但是不更新。我擦了,v-model和:value都试过。都没用,网上描述的这个bug能追

    2024年02月16日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包