[Bug Report] designable-formily 工具 NumberPicker 组件 配置 formatter 参数报错
- [ ] I have searched the issues of this repository and believe that this is not a duplicate.
Steps to reproduce
使用官方提供的 formilyjs 线上设计器工具 按照如下步骤操作
- 选中 NumberPicker 组件
- 编辑 组件属性中的 格式转换器
- 输入
value => `$$ ${value}` - 切换到
JSONTREE模式, 可以看到相关配置:"formatter": "{{value => `$$ ${value}`}}" - 切换到
PREVIEW模式, 可以看到formily/antd 是正常运行的 - 切换回
DESIGNABLE模式, 出现报错



What is expected?
正常运行
What is actually happening?
报错,且页面挂掉
Package
@formily/[email protected]
createForm 的 designable 模式下,表达式字段是否都有类似问题,不会将 {{}} 转成 function?
我在 alibaba/designable 项目下也提了相关 issues
https://github.com/alibaba/designable/issues/308
我简单看了下源码, 有两个疑问:
-
designable模式下不走makeObservable的逻辑是合理的吗? 源码位置:makeObservable
如果不走,在 designable 模式下 传给底层组件的 需要对表达式值进行相应转换的 属性 全部都是{{string}} 结构,这种非法传参的情况不会很不合理吗?
- 关于 toJS 方法的作用?
相关源码:
一开始误以为改方法是将 表达式字符串 转换成 js 对象的, 结果发现根本不是,看半天也没理解该方法的作用是什么?
麻烦大佬们有空的话解答下
designable模式,表达式是不会执行的,因为缺少上下文,NumberPicker这个问题,建议在搭建态渲染用Input组件mock一下就行了,搭建态的定位是原型搭建,不是运行时搭建
designable模式,表达式是不会执行的,因为缺少上下文,NumberPicker这个问题,建议在搭建态渲染用Input组件mock一下就行了,搭建态的定位是原型搭建,不是运行时搭建 我选择的是搭建态组件写个HOC把{{}}的props置为空