lljj-x / vue-json-schema-form

基于Vue/Vue3,Json Schema 和 ElementUi/antd/iview3/naiveUi 等生成 HTML Form 表单,用于活动编辑器、h5编辑器、cms等数据配置;支持可视化生成表单Schema 。 Generate a form using Vue/Vue3, Json Schema and ElementUi/antdv/iview3/naiveUi
https://form.lljj.me/
Apache License 2.0
2.09k stars 428 forks source link

[IOS 兼容] 在 ios 中存在兼容问题 #186

Open lizyChy0329 opened 2 years ago

lizyChy0329 commented 2 years ago

反馈问题请先查看文档和务必提供详细的复现代码,遵循如下格式,描述不清楚的问题将会直接关闭。

vue和ui框架

vue2或者vue3、ui框架element antd、vjsf 使用版本说明

@lljj/vue3-form-element 1.12.2

问题描述

对错误是什么的清晰简洁的描述。 image

在 IOS 中,这个 props 的下属所有属性为 enumerable: false

导致了 const curProps = { ...props, schema }

// curProps -> {schema} 只有 schema 属性存在

控件无法正常渲染

image

如何复现

使用 IOS 低版本测试 当前使用 ios 11.3.1

期望的结果

ios 能够正确渲染组件

lizyChy0329 commented 2 years ago

image

是由于 h 函数生成的 props 在 ios 某些机型下(例如 11.3.1) 被修改为 non-enumerable 导致 core-js 的 _objectSpread2 函数无法正常复制对象,从而导致控件渲染不出来的现象

kamilic commented 2 years ago

related: https://github.com/vuejs/core/issues/5980

lljj-x commented 2 years ago

所以看起来这像是一个 vue3的已知问题,可能是ios11对一些es6+ 的语法兼容性问题 。

如果可以有些polyfill的方案欢迎pr