flex 自定义可视化组件的超级鸡肋的属性设置

虽然前段时间以乔布斯为首的几位大侠对 flash 的安全、性能等进行了强烈的批评,而且伴随着 html5 的日趋完善,可能这种批评声会越来越大,甚或超过南非世界杯呜呜组啦的分贝,但是个人认为 flex 确实是一个可以做 delphipbc# 等客户端所具有的强鼠标、键盘操作性的 web 应用好工具。但最近在开发 flex 自定义组件的时候,却让我十分恼火,真 TMD 的想骂 Flex 开发团队是一帮蠢驴(这是气话, flex 总体来说还是不错的,但确实不是很成熟)。那么究竟什么让我这么火? Flex 自定义组件的属性配置就是个鸡肋,就是基本组件的属性配置也很差。

拿使用频率较高的 AdvancedDataGrid 来说,该控件的属性配置应该算是做的比较好的了,提供了列配置,开发人员可以通过图形界面增加、删除列,编辑列的可编辑、标题、显示字段等属性,但是比较 C# 等客户端的话, Flex 提供的可视化属性配置还是差之太远。现在自定义一个 Grid ,继承 AdvancedDataGrid 。关于如何自定义组件,网上已经说的很多了,这里不再赘述,自定义组件有 2 种做法:其一是 ActionScript 类,其二是 mxml 文件。不管用哪种方法,现在已经做好了一个自定义表格 MyGrid ,继承 AdvancedDataGrid

新建一个 mxml Application ,将 MyGrid 拖放到该 application 中,发现 MyGrid 的属性配置面板里除了 id 等几项设置外已再无其它内容,刚才在 AdvancedDataGrid 属性面板中所见的 dataProvider 、选择模式、列配置等都已不见,也就是说自定义的 MyGrid 不能进行可视列编辑了,狂晕呀。

仔细分析大概是这样的:

<!-- [if !supportLists]-->1) <!-- [endif]-->flex 所有可视组件的属性配置应该有个基本模板,大概该模板是基于 UIComponent 的;

<!-- [if !supportLists]-->2) <!-- [endif]-->flex 自包含可视组件的属性配置应该有其特定实现,比如 AdvancedDataGrid ,应该有扩展自基本模板的 AdvancedDataGrid 属性配置;

<!-- [if !supportLists]-->3) <!-- [endif]-->所有自定义组件的属性配置都只有基本模板(诸如 id 、左右边距等),因为 flex 找不到自定义组件的属性配置模板实现(由于 flex 组件的属性配置是 flex 预定义程序,且只对 flex 的标准组件做了定义),所以只有用 UIComponent 的配置模板了 ;

结论与建议:

结论很明显, flex 的自定义组件没有可用的可视化属性配置,因此我们要设置属性只能在 mxml 文件或者 as 文件中进行 coding 脚本,如果一个 MyGrid30 列,那么就 coding 30 AdvancedDataGridColumn 吧。

建议,虽说 flex 其核心还是脚本编程,但个人认为一个好的开发工具,高效的开发工具还是很重要的,我认为 flex 不仅要完善属性控制面板,对其数据管理、标准的组件(拿最简单的 Button 来说吧,在 4 中不能直接设置 icon 了,为了显示带 iconbuttontmd 要写一堆代码,而在 3 中却是可以直接设置的,虽说 4 是为了把显示和数据分开,但同时要考虑开发效率呀。)等也需要加以完善。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值