EXT JS 4 Добавление строки запроса к ссылкам
-
25-10-2019 - |
Вопрос
Всякий раз, когда я создаю компонент с URL-адресом, Ext Js 4 добавляет к ссылке ?undefine.Как я могу избавиться от этого?
Ext.onReady(function() {
Ext.create('Ext.toolbar.Toolbar', {"items":[{"text":"Dashboard","xtype":"button","target":"_self","href":"https:\/\/domain.tld\/admin\/"},{"text":"Categories","xtype":"button","menu":{"items":[{"text":"New","xtype":"button","target":"_self","href":"https:\/\/domain.tld\/admin\/category\/create\/"}]}}],"renderTo":"admin_menu","width":"100%"});
});
Нажав на панель управления, вы перейдете к https://domain.tld/admin/dashboard?unопределенный
Решение
Я посмотрел на источник, чтобы выяснить, как он создает URL-адреса.Он берет конфигурацию href и добавляет конфигурацию params, не проверяя, определены ли параметры.Затем добавляет конфигурацию baseParams.Поэтому, если вам нужна ссылка без строки запроса, создайте кнопку с пустой конфигурацией параметров.
Ext.create("Ext.button.Button", {href:'www.google.com', params:'',text:'Link',target:'_self'});
Другие советы
Документация EXTJS не упоминает href
В качестве поддерживаемой опции конфигурации для панели инструментов.
Вместо указания target
а также href
, Я предлагаю указать функцию обработчика. Что -то в зависимости от:
{
text:'Dashboard',
handler:function(){
//window.open(...) or window.location.href=...
}
//...
}