vue3 el-select ios端移动端不触发输入键盘

方案:去除input框的readonly属性

 <template #toolboxLeft>
  <div class="select-flex">
    <el-select
      ...
      :ref="getDivDom"
      data-id="workerNo"
      @vnode-mounted="() => cancalReadOnly(false, 'workerNo')"
      @visible-change="(onOff: boolean) => cancalReadOnly(onOff,'workerNo')"
    >
      <el-option
        v-for="w in workerList"
        :key="w.workerNo"
        :label="w.cName"
        :value="w"
      />
    </el-select>
  </div>
</template>
<script setup lang="ts">
import {  nextTick } from "vue";
/** fix: iOS Element 当el-select 可输入时,ios端调不起键盘 */
const divDomList = ref(new Map());
const getDivDom = (el: any) => {
  if (el) {
    divDomList.value.set(el.$attrs["data-id"], el);
  }
};
// 去除input框的readonly属性
function cancalReadOnly(onOff: boolean, keyName: string) {
  nextTick(() => {
    const select = divDomList.value.get(keyName);
    console.log('select', select);
    if (select) {
      const input = select.$el.querySelector(".el-input__inner");
      input.removeAttribute("readonly");
      console.log(keyName, input);
    }
  });
}
<script setup lang="ts">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值