ext. js Окно не подстраивается под размер кнопок - PullRequest
0 голосов
/ 25 января 2020

Когда я устанавливаю длинную строку в кнопке, окно не приспосабливается к размеру кнопки. Я сделал переменную buttonWidth, чтобы размер окна был больше размера кнопок, но он не работает. Также dbWindow width: auto не выполняет работу. Конечно, я мог бы установить большее значение ширины, но я хочу сделать это окно динамическим c и "подтверждение длины текста кнопки".

showDbWindow : function(){
        var me = this;
        this.dbWindow = new Ext4.Window({
                width   : 610,
                title   : me.windowName,
                items: [{
                margin: '10 10 10 10',
                    xtype: 'component',
                    html: me.question
                },
                {
                    buttons : [{
                    itemId : 'aktualizuj',
                                text    : "d,smndfnrifnoaeirnfiainre,mvva,revaervnlerknv",
                                handler : me.executeQuery,
                                scope : me
                            },
                            {
                            itemId: 'dalej',
                                text    : "d,smndfnrifnoaeirnfiainre,mvva,revaervnlerknv",
                                handler : me.confirm,
                                scope : me
                            },
                            {
                            itemId: 'powrot',
                                text    : "d,smndfnrifnoaeirnfiainre,mvva,revaervnlerknv",
                                handler : me.closeWindow,
                                scope : me
                            }
                        ]
                }]

        });
        this.dbWindow.show();
        var buttonWidth = this.dbWindow.getChildItemsToDisable('')[0].getWidth() + this.dbWindow.getChildItemsToDisable('')[1].getWidth() + this.dbWindow.getChildItemsToDisable('')[2].getWidth();
        this.dbWindow.setWidth(buttonWidth);
        debugger;
    },

окно с кнопками pi c

Как видите, первая кнопка частично скрыта . Важно то, что кнопка не вырезана. После расширения окна курсором мыши, все кнопки.

1 Ответ

0 голосов
/ 26 января 2020

Вам нужно добавить некоторую дополнительную ширину (отступ между кнопками) и следующее использование doLayout в окне.

showDbWindow: function() {
  var me = this;
  this.dbWindow = new Ext4.Window({
    width: 610,
    title: me.windowName,
    items: [{
        margin: '10 10 10 10',
        xtype: 'component',
        html: me.question
      },
      {
        buttons: [{
            itemId: 'aktualizuj',
            text: "d,smndfnrifnoaeirnfiainre,mvva,revaervnlerknv",
            handler: me.executeQuery,
            scope: me
          },
          {
            itemId: 'dalej',
            text: "d,smndfnrifnoaeirnfiainre,mvva,revaervnlerknv",
            handler: me.confirm,
            scope: me
          },
          {
            itemId: 'powrot',
            text: "d,smndfnrifnoaeirnfiainre,mvva,revaervnlerknv",
            handler: me.closeWindow,
            scope: me
          }
        ]
      }
    ]

  });
  this.dbWindow.show();
  var buttonWidth = this.dbWindow.getChildItemsToDisable('')[0].getWidth() + this.dbWindow.getChildItemsToDisable('')[1].getWidth() + this.dbWindow.getChildItemsToDisable('')[2].getWidth() + 40;
  this.dbWindow.setWidth(buttonWidth);
  this.dbWindow.doLayout();
  debugger;
},

Я предлагаю использовать toolbar с enableOverflow вместо.

...