有没有办法在硬纸板外面创建“ rallycard”实例?

时间:2018-09-23 10:14:33

标签: rally

在文档中,关于“ 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);

2 个答案:

答案 0 :(得分:0)

您收到控制台错误吗?我猜想,除了网卡可能会使您绊倒之外,还有一些其他必需的配置选项。

另一个小注意事项,您既不需要renderTo也不需要添加调用。在这种情况下,我可能会放弃renderTo。

答案 1 :(得分:0)

我能够找到一种方法来做到这一点。由于我在任何地方都没有看到示例,因此我将回答我自己的问题(下面的代码)。您必须找到一个有意义的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
    });