0
Code:

     items: [{
            xtype: 'segmentedbutton',
            disabled: true,
            //id:'segmentWidget',
                    items: [
                        {
                            text: 'text1',
                            flex: 1,
                        },
                        {
                            text: 'text2',
                            flex: 1
                        },
                        {
                            text: 'text2',
                            flex: 1
                        }
                    ]

        }]

Ext.getCmp('segmentWidget').setPressedButtons(0);

我如何在不使用 ID 的情况下做到这一点

谢谢

4

1 回答 1

0

如果您不想id在 Sencha 中使用来选择组件(最好在可能的情况下这样做以保持事物可重用并避免污染全局 ids 空间),您有多种选择。

粗体部分来自 Sencha 文档,其余部分是我的)

  1. Ext.Container.getComponent()方法:检查此容器的 items 属性并获取此容器的直接子组件。基本上,您传入一个字符串,该字符串应与该容器中的其中一个的idoritemId属性匹配。items

  2. Ext.Container.query()方法:检索与传递的选择器匹配的所有后代组件。使用此容器作为其根执行 Ext.ComponentQuery.query。这将返回一个数组Ext.Component。查看Ext.ComponentQuery.query文档以了解您可以执行哪些查询。简而言之,您可以简单地选择 by xtype,在您的情况下您可以这样做:fatherComponent.query('segmentedbutton')[0],或通过其他属性,例如:fatherComponent.query('[text=text1]')[0]

  3. Ext.Component.up()方法:沿着 ownerCt 轴寻找与传递的简单选择器匹配的祖先 Container

于 2014-03-03T16:44:13.740 回答