前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决iview weapp的i-input组件在微信开发者工具中不能输入值的问题

解决iview weapp的i-input组件在微信开发者工具中不能输入值的问题

作者头像
薛定喵君
发布2019-12-26 10:08:08
2.3K0
发布2019-12-26 10:08:08
举报
文章被收录于专栏:薛定喵君薛定喵君

记录下i-input组件在模拟器中不能输入值问题的原因及解决办法

最近开始用mpvue框架,所以遇到了一些坑,这篇文章记录下关于input组件的一个坑。老司机请略过。 小程序里做一个登录页,输入手机号和密码进行登录。很简单吧,用了iview之后页面很快撸出来了,但是点击输入框敲打键盘之后发现无论输什么东西全部都输不进去,这尼玛什么情况。预览到手机上进行同样的输入竟然是可以的。

于是乎进行了一番搜索,发现有同学遇到了同样的情况 ⬇️ iview weapp 在小程序开发工具中i-input组件不能输入值

看了下自己的登录页,果然是没加maxlength属性

代码语言:javascript
复制
<template>
  <div class="main">
    <div class="login">
      <div class="title">账号登录</div>
      <div class="account pr15">
        <i-input type="text" @change="accountChange" placeholder="请输入手机号" :value="account" />
      </div>
      <div class="password pr15">
        <i-input
          i-class="mt20"
          @change="passwordChange"
          type="password"
          placeholder="请输入密码"
          :value="password"
        />
      </div>
      <div class="operate">
        <i-button
          i-class="login-btn"
          @click="loginConfirm"
          :loading="loginLoading"
          type="primary"
          size="small"
        >登录</i-button>
        <i-button
          type="info"
          i-class="login-btn"
          open-type="getUserInfo"
          bind:getuserinfo="wxLogin"
          size="small"
        >微信快捷登录</i-button>
      </div>
      <i-toast id="toast" />
    </div>
  </div>
</template>

然后加了maxlength之后竟然在模拟器就可以正常输入了。

虽然这样就解决了,但是为啥呢,仔细想了想,直觉告诉我是默认值的问题,会不会是因为没有默认值导致maxlength为0使得输入值被清掉了?

我们先来查看一下没设置maxlength时的shadowdom结构

可以发现显示的maxlength值为0 我们再去查看iview的input组件源码

代码语言:javascript
复制
Component({
    behaviors: ['wx://form-field'],

    externalClasses: ['i-class','t-class'],

    properties: {
        ...
        maxlength: {
            type: Number
        }
    },

可以发现maxlength属性下仅设置了type属性

接着我们尝试给maxlength加一个value来设置组件属性的默认值,这里我们设置为100来尝试下。

代码语言:javascript
复制
···
maxlength: {
    type: Number,
    value: 100
}
···

在页面引用标签的地方不用设置maxlength就可以发现在微信开发者工具中也可以输入值了(因为组件里设置的默认值为100)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-12-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档