首页 > 解决方案 > 有没有办法在纸板之外创建一个“拉力卡”的实例?

问题描述

在文档中,关于 'rallycard' 对象,它声明:“通常,此类不会直接创建,而是由 Rally.ui.cardboard.CardBoard 实例化,由其 cardConfig 指定”。我有一个功能模型,我想将它显示为这样的卡片(如下),但它没有显示在呈现的页面中。

var card = Ext.create('Ext.Component', {
        style: {
            position: 'absolute',
            left: '100px', //left + 'px',
            top: '100px'//top + 'px'
        },
        items: [{
            xtype: 'rallycard',
            record: feature
        }],
        renderTo: Ext.getBody()
     });

     this.down('#main').add(card);

标签: rally

解决方案


我能够找到一种方法来做到这一点。由于我在任何地方都没有看到示例,因此我将回答我自己的问题(下面的代码)。您必须为 objectId 找到一个有意义的值。

    Rally.data.ModelFactory.getModel({
        type: 'PortfolioItem/Feature',
        success: function(model) {
            var objectId = 1234; // <-- your objectId here
            model.load(objectId, {
                fetch: ['Name', 'State', 'Owner'],
                callback: function(result, operation) {
                    if(operation.wasSuccessful()) {
                        var owner = result.get('Owner');
                        console.log('owner', owner._refObjectName);

                        var card = Ext.create('Rally.ui.cardboard.Card', {
                            style: {
                                position: 'absolute',
                                left: '100px',
                                top: '200px',
                                width: '200px'
                            },
                            record: result
                        });
                        this.down('#main').add(card);
                    }
                },
                scope: this
            });
        },
        scope: this
    });

推荐阅读