2

ExtJSコンボボックスに空のアイテムを追加する方法で述べたように実装しました か? 必要に応じて空白の行/アイテムを表示できますが、コンボボックスからアイテムを選択できません!

推測はありますか?

私のコードは次のとおりです

var rModel = Ext.regModel('State', {
  fields: [
     {type: 'string', name: 'fips_state_code'},
     {type: 'string', name: 'state_name'}
  ]
});

// The data store holding the states

var store = Ext.create('Ext.data.Store', {
  model: 'State',
  data: [{fips_state_code: '0', state_name: ' '}]
});

store.add(obj.results);

{
      xtype:'combo',
      id:'filterstate',
      width: 250,
      fieldLabel: 'Filter By State',
      store: store,
      queryMode: 'local',
      displayField: 'state_name',
      valueField: 'fips_state_code',
      editable: false,
      forceSelection : true,
      triggerAction : 'all',
      typeAhead: true,
      selectOnFocus:true,
      allowBlank:true,
      tpl : '<tpl for=\".\"><div class=\"x-combo-list-item\">{state_name}&nbsp;<\/div><\/tpl>'

    }
4

1 に答える 1

2

問題はtpl属性です。属性を選択するには、x-boundlist-itemクラスをtplに追加する必要があります。ちょうどこのような

tpl : '<tpl for=".">'+
          '<div class="x-boundlist-item">'+
              '<div class="list-item">{state_name}&nbsp;</div>'+
          '</div>'+
      '</tpl>'

http://jsfiddle.net/alexrom7/CnwpD/

ただし、コンボボックスリスト内のすべてのアイテムにカスタムcssクラスのみを適用する場合。このようにすることをお勧めします

listConfig: {
// Custom rendering template for each item
            getInnerTpl: function() {
                return '<div class="list-item">{state_name}&nbsp;<\/div>';
            }
        }

http://jsfiddle.net/alexrom7/6Jt5T/

tplを直接操作すると、問題が発生する可能性があります。

于 2013-02-21T02:37:18.773 に答える