Closed franckchen closed 1 month ago
所有的代码基于amis editor 本地开发入口(amis-editor-core/examples/Editor.tsx) 修改而来
amis Editor组件的schema props中增加一个非object类型字段(名为country的string类型字段), 即顶层数据中添加一个非object类型字段。
object
默认的表达式编辑器无法识别新增的字段, 无法选择。
编辑器中的data或ctx中注入schema中新添加的country字段数据, 实际输入数据, 在输入框中强行关联, 预览渲染正常。
country
经过代码分析, 怀疑是BUG。 下属代码做可选参数的最终过滤, 从1397行,可以看出过滤掉了类型非object的参数。导致无法使用非对象类型的数据。 感觉应该先判断类型, 再过滤。如确定是此问题, 可PR
https://github.com/baidu/amis/blob/d49bd3bf37511e56d5f3e7e4d6beea37c8be5380/packages/amis-editor-core/src/util.ts#L1345-L1399
个人感觉造成这类问题的原因是amis editor长期在面向有数据容器组件的场景开发, 没有关注没有容器组件的场景。 建议在本地开发入口的代码的schema中补充上字符串类型和Array<record<string, (number | string | boolean>>类型的数据。 便于调试和发现问题
Array<record<string, (number | string | boolean>>
👍 Thanks for this! 🏷 I have applied any labels matching special text in your issue.
Please review the labels and make any necessary changes.
所有的代码基于amis editor 本地开发入口(amis-editor-core/examples/Editor.tsx) 修改而来
amis Editor组件的schema props中增加一个非
object
类型字段(名为country的string类型字段), 即顶层数据中添加一个非object
类型字段。默认的表达式编辑器无法识别新增的字段, 无法选择。
编辑器中的data或ctx中注入schema中新添加的
country
字段数据, 实际输入数据, 在输入框中强行关联, 预览渲染正常。经过代码分析, 怀疑是BUG。 下属代码做可选参数的最终过滤, 从1397行,可以看出过滤掉了类型非
object
的参数。导致无法使用非对象类型的数据。 感觉应该先判断类型, 再过滤。如确定是此问题, 可PRhttps://github.com/baidu/amis/blob/d49bd3bf37511e56d5f3e7e4d6beea37c8be5380/packages/amis-editor-core/src/util.ts#L1345-L1399
个人感觉造成这类问题的原因是amis editor长期在面向有数据容器组件的场景开发, 没有关注没有容器组件的场景。 建议在本地开发入口的代码的schema中补充上字符串类型和
Array<record<string, (number | string | boolean>>
类型的数据。 便于调试和发现问题