element-ui的el-select在ios移动端的兼容性适配

这篇具有很好参考价值的文章主要介绍了element-ui的el-select在ios移动端的兼容性适配。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

element-ui的el-select在ios的兼容性适配

今天的我在做一个h5的项目,发现element-plus(我使用的版本是2.2.19)里的el-selectios上需要点击2次才能打开下拉框。经过很久的研究和查阅无数资料(包括百度、谷歌搜索到的),都没有解决这个问题。最后我探究里面的根本原因,最后才自己找到解决方案, 可以仔细阅读这篇文章,帮助大家避坑。

1. 在ios移动端的表现

当我们使用el-select组件的时候,安卓手机表现正常,pc端也表现正常,但是ios上表现就不正常了,主要体现在一下几点:

  1. ios上,点击该组件第一次不能打开下拉选项
  2. 进一步探索,当没有默认值的时候,第一次点击事件就可以打开下拉选项,但是当有默认值的时候,就会出现先聚焦该组件,下拉框没有出现,在聚焦过后,在进行一次点击,才能打开下拉选项;

2. 寻找解决方案

发现这个问题后,我们在搜索引擎上查了好多的解决方案,但是并没有找到解决以上的问题,现在我把我找到的最多的解决方案列出来,并说明原因:

  1. 如何解决el-select下拉框在ios上 点击两次才能选中的问题
    这个解决方案,我看了一下,我也进行了尝试,但是没有解决以上的相关问题,原因主要是,.el-scrollbar .el-scrollbar__bar这个样式,其实是下拉框里面的样式,解决的应该是下拉框里面的选项在ios里面的需要点击2次才能选中的问题。
  2. vue3 element plus ios点击时无法获取焦点
    这种,1、FastClick该库我并没有进行尝试,因为使用了会导致项目太臃肿;2、el-input加了 ‘user-select’: ‘none’,该方法我进行了尝试,并没有解决。

3. 独立解决

在以上各种查询和探索下,并没有解决我的问题,所以,只能我自己寻找解决方案,其实应该是element-plusiosde 兼容性问题。

(1) 方案一:移动端替换了element

实现上就是,当是移动端的时候,我们使用vantui库来实现移动端的兼容性。该方案就是需要大量的资源来实现,但是是最好的解决方案,因为element在移动端的体验很不友好。

(2) 方案二:继续使用element做兼容

这个兼容性方案我在探索的过程中非常痛苦,当时不知道是怎么产生的。但是经过我不懈努力的尝试,终于找到了一个由CSS就可以解决点击2次的问题。

element适合手机吗,ui,ios,vue.js,elementui
element适合手机吗,ui,ios,vue.js,elementui

主要的问题就出现在上面的这2张图片上,第一张图片是没有点击的时候,第二张图片是第一次点击后,可以发现问题,点击后,span里面进行了if切换,而在ios里面,这个切换后,点击动作就消失了,所以我怀疑可能是这个el-select右侧的icon导致的,所以我进行了一轮尝试,把这一整个spandom进行display: none;,发现一次点击就可以出发下拉框的出现,这个也是为什么一定要有默认值才能需要点击2次,因为没有默认值,上面的if是不会切换的。


顺着这个思路,是这个span导致的问题,那我就进行了一系列尝试,针对span写入一些CSS,最后让我找到了,display: contents

.el-input .el-input__suffix {
	display: contents;
}

大概原理可以就是让这个span没有边框等,这样点击事件就可以透下去(猜测,后面我会弄清楚),这个也只是在ios上才有这个问题。

如果大家也遇到了这个问题,大家可以进行尝试文章来源地址https://www.toymoban.com/news/detail-800906.html

总结

  1. 在移动端上有各种奇葩的兼容性问题,需要耐心去对待
  2. 当前的这个问题,我提出了以上的2种解决方案,如果有好的解决方案,可以给我留言,谢谢

到了这里,关于element-ui的el-select在ios移动端的兼容性适配的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Element-UI el-select 多选菜单换行撑开

    问题描述:           Element-UI el-select 多选菜单换行撑开显示破坏整体样式  问题解决:         添加如下样式:          若出现滚动条样式不好看,可以更改样式,和elementui保持一致。        

    2024年02月16日
    浏览(31)
  • element-ui控件el-select如何在前面添加icon图标

    在element-ui中input可以使用prefix-icon=“el-icon-user” 在前面添加icon图标,但是select自己没有该属性。那么如何在element-ui控件el-select前面前面icon图标 代码如下(示例): 这里使用了 template #prefix 来替换,因为我使用的是element-plus ,如果使用的是element-ui 则直接使用slot替换

    2024年02月11日
    浏览(39)
  • 解决element-ui中的el-select选择器无法显示选中内容的问题

    问题描述: 排查方法: 检查数据控制台是否报错,无报错 检查change是否触发,会触发 最后开始百度,查看文档  官方文档有这么一段话,就是属性一定要挂载到data上,不然无法检测。 最后解决: 排查到我的form表单,在定义表单属性的时候,没有在data中定义该字段。 总结

    2024年01月23日
    浏览(40)
  • 最简单的使用css修改element-ui的el-select的高度

    个人博客同步csdn 首先给el-select的容器上面自定义一个类名,避免污染别的el-select 写css,注意这里用了less 效果图(前) 效果图(后)

    2024年02月12日
    浏览(26)
  • 【前端】Element-ui el-select 绑定 v-model 不生效问题汇总

    1、 v-model 绑定的值与下拉选项的值类型不一致。 2、绑定的值未声明。 如上所示,需要具体声明。 3、value 前 需要加 冒号  : 

    2024年02月03日
    浏览(34)
  • element-ui select数据回显显示数字的问题 el-select校验失效出现阿拉伯数字问题

    初始化参数     后端传送数据给前端后,下拉框回显结果为数字! 最近遇到个问题后端返回结果后.前端双向绑定回显结果为数字.分析原因后发现是数据类型不一致导致回显异常 解决方案 把option的value转为字符类型即可 1  

    2024年02月16日
    浏览(33)
  • el-select值的回显问题:如何使element-ui的下拉框显示label值

    今天写前端又遇到个很神奇的事情,element的下拉框el-select出现了一点儿问题,回显的时候显示value的值,这个强迫症看来就很难受  我写的代码是这样的 查阅大量资料,突然发现一个简单的方法,那就是vue的v-bind的神奇之处,v-bind的简写是:冒号 所以解决方法就来了(敲重

    2024年02月07日
    浏览(35)
  • Element-UI实现的下拉搜索树组件(el-select、el-input、el-tree组合使用)

    1、子组件封装 注意使用:正常使用 // 子组件使用 父组件调用

    2024年02月11日
    浏览(63)
  • Vue 当页面进入全屏状态时element-ui的el-select下拉菜单不显示问题

    在前两天进行页面全屏时,一切都还好好的,可当使用element-ui中的el-select时,下拉菜单却怎么也显示不出来,但只要退出全屏状态,立马就好。 非全屏时:  全屏时: 开始我以为是层级问题,所以给el-select的下拉菜单加z-index,却发现加到多大都没用。 后来去官方文档里找

    2024年01月17日
    浏览(52)
  • element-ui的el-form表单和el-table校验嵌套使用校验el-input和el-select

    场景:前端开发中,经常会遇到比较多的表单填写页面,其中有el-form,el-table,表格的每一列中又嵌套着输入框或者下拉框,然后每个还需要做单独的校验 效果:   点击保存可校验el-input和el-select是否有值,不符合校验规则就标红提醒   1.el-form里面嵌套el-table 2.在el-table-column自定义内

    2024年02月02日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包