ascoders / gaea-editor

Design websites in your browser. A smart web editor!
https://gaeajs.github.io/gaea-site/
MIT License
1.34k stars 222 forks source link

preComponents有什么作用呢? #53

Open changfuguo opened 5 years ago

changfuguo commented 5 years ago
 preComponents={[{
          gaeaKey: "antd-layout",
          components:[{
            name: 'ant-button',
            props: { text: '123' }
          },{
            name: 'ant-row',
            props: {  }
          }]
        }]}

如上面所示,在preComponents配置了下,只是在左边菜单去掉了ant-layout, 多出来两个row和button,然后拖拽进去的还是layout,不知道这个配置有啥用?

另外我有个需求是,比如antd的layout,我想通过配置把header 和sider footer content 展示出来,能否在layout的动态添加上这些挂件之后,把她们在layout内部搞成一个container呢?

changfuguo commented 5 years ago

我看下代码等给你提pr 其实这种需求是这样的:div->button,这个复合组件,button 已经是预设的组件,那么在这个复合组件我只需要设置复合组件的属性,不用配置button的属性了,在复合组件内部能识别出来button这个组件,并按照button的editsetting 返回给复合组件

ascoders commented 5 years ago

preComponents 之前没有考虑清楚,所以也许用起来比较别扭或者有问题,最初的想法 preComponents = 已有普通组件 + 一些内置 props 配置,比如一个 Button,可以通过预设组件,裂解为三个:primary 样式的 Button,disabled 的 Button,虚线边框的 Button,这些配置如果不放出来让用户改,就等于是固化写死了的。

另外组合组件这个版本似乎没有做进去,可以考虑提 PR。

changfuguo commented 5 years ago

preComponents 之前没有考虑清楚,所以也许用起来比较别扭或者有问题,最初的想法 preComponents = 已有普通组件 + 一些内置 props 配置,比如一个 Button,可以通过预设组件,裂解为三个:primary 样式的 Button,disabled 的 Button,虚线边框的 Button,这些配置如果不放出来让用户改,就等于是固化写死了的。

另外组合组件这个版本似乎没有做进去,可以考虑提 PR。

我理解了,其实type=primary,danger ,还有disabled这些是可以通过面板配置出来的。 其实第三方的组件有时候是需要hoc 或者其他方式改一下的

比如button,这个,一般都是这么写<Button>text</Button>,你只能将配置props的方式传给内部的antd组件