1. 程式人生 > >Layout run failed錯誤解決方案

Layout run failed錯誤解決方案

一、問題描述:

在Container中加入Ext.grid.Panel 時,發生如下錯誤:


百度一下,仍未果。

二、解決文案:

對比之前寫的程式碼,發現,只要在父元素中,加入width:X%即可解決。

三、程式碼

從網上搜的各種都解決不了此問題,現上傳錯誤與正確程式碼:

1、錯誤程式碼:

  {
      xtype: 'container',
      layout: {
        type: 'hbox'
      },
      items: [
        {
          xtype: 'label',
          html: '優惠設定'
        },
        {
          xtype: 'grid',
          flex: 1,
          name: 'discounts-setup',
          store: {
            type: 'commoditytitleinfostore',
            data: [{
              product_id: 1,
              image: 'http://xxxxx.c.jpg',
              name: 'Lisa',
              current_price: 55,
              discount_amount: 22.1,
              quantity: 88
            }]
          },
          columns: [
            {
              text: '商品名稱',
              align: 'center',
              xtype: 'widgetcolumn',
              widget: {
                xtype: 'commoditytitleinfo',
                bind: {
                  bindData: {
                    name: '{record.name}',
                    image: '{record.image}'
                  }
                }
              }
            },
            {
              text: '價格',
              dataIndex: 'current_price'
            }
          ]
        }
      ]
    },
2、正確程式碼:

 {
      xtype: 'container',
      width: '80%',//******此處要加
      layout: {
        type: 'hbox'
      },
      items: [
        {
          xtype: 'label',
          html: '優惠設定'
        },
        {
          xtype: 'grid',
          flex: 1,//此處要加
          name: 'discounts-setup',
          store: {
            type: 'commoditytitleinfostore',
            data: [{
              product_id: 1,
              image: 'http://xxxx.c.jpg',
              name: 'Lisa',
              current_price: 55,
              discount_amount: 22.1,
              quantity: 88
            }]
          },
          columns: [
            {
              text: '商品名稱',
              align: 'center',
              xtype: 'widgetcolumn',
              widget: {
                xtype: 'commoditytitleinfo',
                bind: {
                  bindData: {
                    name: '{record.name}',
                    image: '{record.image}'
                  }
                }
              }
            },
            {
              text: '價格',
              dataIndex: 'current_price'
            }
          ]
        }
      ]
    }



網上有說是layout型別不對,要改為fit,這裡不需要更改layout的type配置項。

注:我的版本號是6.2.1 gpl。