解决elementUI的el-select在移动端搜索无法唤起键盘

在使用el-select时,通常会添加一个搜索功能filterable使用户方便快捷找到自己想要的选项,在pc端,移动端的安卓手机,都可以正常显示,在ios端的时候,我们发现,明明可以获取焦点,但是却无法唤起软键盘,怎么解决呢?

通过控制台查看dom节点可以发现,input输入框添加了readonly,想要解决上面的问题,那么就是去掉readonly,如下:

<el-select 
ref="select"
@hook:mounted="cancalReadOnly"
@visible-change="cancalReadOnly" 
filterable 
allow-create 
v-model="tvBrand"
placeholder="Enter and select the brand of your TV (required)">
    <el-option v-for="item in brandData" :key="item" :label="item" :value="item">
    </el-option>
</el-select>
   cancalReadOnly(onOff) {
      this.$nextTick(() => {
        if (!onOff) {
          const { select } = this.$refs;
          const input = select.$el.querySelector('.el-input__inner');
          input.removeAttribute('readonly');
        }
      });
    },

就可以完美解决啦!!

上面主要是绑定下面的方法,在input框mounted的时候和change时就调用了方法移除readonly,完美!

猜你喜欢

转载自blog.csdn.net/weixin_56322425/article/details/128902533