编辑器中cc.Enum类型对应的列表长度或内容可以动态修改吗?

图中当trigger属性改变时,change函数会被调用。问题是怎样在change函数中通过修改TestEnum,使得编辑器中与TestEnum对应的枚举列表或内容发生改变?
目前类似图中change函数的实现是做不到的。

你好这部分的 API 还不是很稳定,你可以悄悄使用

    cc.Class.attr(component, 'style', {
        type: 'Enum',
        enumList: cc.Enum.getList(cc.Enum(obj))
    });

谢谢@jare, 可是将change函数改为上图实现后,编辑器中修改trigger属性值后,style列表还是只有3项哦。 对cc.Class.attr的使用有问题?

重新选中该节点看看,可能是属性编辑器没刷新

重新选中节点后,编辑器枚举列表里面的内容改变了。这个方案还不是那么完美,我看之前的一个帖子http://forum.cocos.com/t/cc-enum/38140/2里面提到7月底inspector插件就出来了,到那个时候是不是可以使用inspector插件自动更新枚举列表的内容,而不用再重新选中节点手动刷新编辑器?

枚举部分可能会来不及

谢谢@jare。 顺便在这儿问下另外一个问题,就是1.1.1控制台的搜索功能好像是用不了,输入搜索关键字后,按enter,控制台下面不会出现搜索结果,还有就是在控制台的搜索框里输入关键字的时候,在输入字母e的同时,编辑器会切换当前节点的选中模式到“选转工具”,这个是?

这个 bug 已经修复了,但是暂时还没合到主版本去

目前修复的PR: https://github.com/fireball-packages/console/pull/19

抱歉挖坟。
使用
cc.Class.attr(component, ‘style’, {
type: ‘Enum’,
enumList: cc.Enum.getList(cc.Enum(obj))
});
这样写后还是没有刷新属性检查器,需要重新选中该节点才会变化。请问有没有api通知去刷新属性检查器?

https://forum.cocos.com/t/topic/41996
https://forum.cocos.com/t/topic/41507

抱歉挖坟。我想问一下这个现在有新的解决方案吗?

这个需求可以参照引擎代码搞,提交了个demo
https://github.com/wei-kris/cocos-creator-EnumList-Demo

1赞

image 如果是这种自定义类型的,貌似改了不生效