1***@qq.com
1***@qq.com
  • 发布:2019-08-01 18:03
  • 更新:2020-04-16 17:27
  • 阅读:2845

【报Bug】input 事件处理函数可以直接 return 一个字符串,将替换输入框的内容。仅微信小程序支持。

分类:uni-app

input 事件处理函数可以直接 return 一个字符串,将替换输入框的内容。仅微信小程序支持。
input 事件处理函数内实时修改当前值不生效,可以延迟设置,例如:setTimeout(() => { this.value = 100 }, 0)。

在小程序里面 根本没有效果

我做的是一个input 输入金额数字类型 的@input 事件处理,处理的this.value 生效了 ,但是页面的dom 没有改变,这个bug应该是很严重,也是很明显的bug
文档这么随意的api 怎么好意思贴出来, uni-app 的bug 是不是没有人改的嘛

2019-08-01 18:03 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

用了v-model 能行了,:value不行

1***@qq.com

1***@qq.com

用了v-model 能行了,:value不行

6***@qq.com

6***@qq.com

是的我也遇到这个问题,最后只能用 v-model 来解决~~ 用 :value=" " 这个 不行 ~

  • bobQ

    v-model用return也不行吧,而且v-model也只能用this.varName="<常量>",不能传变量

    2023-03-22 13:18

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

已确认BUG,请等待HbuilderX更新,或使用vue-cli创建项目

  • 1***@qq.com (作者)

    我项目就是用vue-cli 搭建的

    2019-08-05 16:59

  • DCloud_uniCloud_WYQ

    回复 1***@qq.com: 嗯,当时cli搭建的有BUG,现在已经修复了

    2019-08-05 17:47

  • 1***@qq.com (作者)

    回复 DCloud_uniCloud_WYQ: 没有修复吧,我反复测试,还用重复用最新cli下载安装项目,测试还是不行,只有我点击点一下是有用可以改变this.value ,然后就无效了

    2019-08-22 09:50

  • 1***@qq.com (作者)

    只能行第一下


    大致代码:

    <input type="text" class="inp" v-model="value" @input="inp"/>


    data(){

    return{

    value:''

    }

    },


    inp(e){

    this.value=1;

    }

    2019-08-22 09:52

  • 启明暖星辰

    回复 1***@qq.com: 是的,这个bug一直就很糟糕

    2019-08-22 10:22

  • yogic

    这是bug呀,我刚好也遇到了,app上,一定是app上,input事件只能监听输入,并不能及时映射dom,【类似的官网的textarea组件的input事件备注说明里面也明确说了】


    我靠,不能映射dom,随便举个需求都无法完成,【比如实时监听输入的字母实时变成大写;控制输入框只能输入字母和数字,不能有汉字和符号;.....】


    【千万别说setTimeout延迟没用;:value形式,也没用,】


    【痛点是,app上一定是app上,@input能取到实时的值,但是值格式化以后无法映射到DOM,一年了有进展了吗】

    2020-04-16 14:07

1***@qq.com

1***@qq.com

请问楼主,这个问题解决没有?我也遇到这个问题了。设置了延迟没用

2***@qq.com

2***@qq.com

我也遇到了input框的number类型就会遇到这个问题,但是改成text就没有这个问题

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

你们还能复现这个问题? input事件 return的结果不能直接跑到输入框?

  • yogic

    这是bug呀,我刚好也遇到了,app上,一定是app上,input事件只能监听输入,并不能及时映射dom,【类似的官网的textarea组件的input事件备注说明里面也明确说了】

    我靠,不能映射dom,随便举个需求都无法完成,【比如实时监听输入的字母实时变成大写;控制输入框只能输入字母和数字,不能有汉字和符号;.....】

    【千万别说setTimeout延迟没用;:value形式,也没用,】

    【痛点是,app上一定是app上,@input能取到实时的值,但是值格式化以后无法映射到DOM】

    2020-04-16 14:04

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

input 事件处理函数可以直接 return 一个字符串,将替换输入框的内容。仅微信小程序支持。

这句说的是下面的使用方式(仅微信小程序支持)

<template>  
    <view class="content">  
        <input style="border: solid 1px #333333;" type="text" value="" @input="onInput" />  
    </view>  
</template>  

<script>  
    export default {  
        methods: {  
            onInput(e) {  
                return '12312313'  
            }  
        }  
    }  
</script>  

<style>  
</style>  

其他问题请另行开帖说明

该问题目前已经被锁定, 无法添加新回复