[前端][fmui]ios16.0版本以上mui的picker选择器显示异常

问题现象

ios16.2版本以上使用mui的picker选择器显示异常

示例知识库 (epoint.com.cn)open in new window

解决方案

解决步骤

1、优化mui.picker.min.css

  • 将.mui-picker-list li{position:absolute;}中的position:absolute去除;
  • 将所有preserve-3d去除
  • 将.mui-picker-inner{...}中的-webkit-mask-box-image: -webkit-linear-gradient(bottom, transparent, transparent 5%, #fff 20%, #fff 80%, transparent 95%, transparent); -webkit-mask-box-image: linear-gradient(top, transparent, transparent 5%, #fff 20%, #fff 80%, transparent 95%, transparent)去除
  • 在文件中新增此代码:.mui-ios-16 .mui-pciker-list{transform-origin-z:0!important;}@supports(font-variant-alternates:styleset(nice-style)){.mui-pciker-list{transform-origin-z:0!important;}}

2、优化mui.picker.all.js文件(如果项目中用的是mui.picker.min.js,那么请改成用mui.picker.all.js文件,all文件是min的未压缩版本,文件可到mui官网下载,在mui/plugin/picker/dist/js中可找到):

  • 删除calcElementItemPostion函数中的webkitTransformOrigin和webkitTransform的赋值
  • 将setAngle函数中的self.list.style.webkitTransform = "perspective(1000px) rotateY(0deg) rotateX(" + angle + "deg)";改成list.style.webkitTransform = "translateY(-" + (e/20 * 36) + "px)"

修改后效果

直接下载

最后更新时间::
贡献者: wyanqd