Как я нахожу выбранный узел в ExtJS TreePanel?

Как насчет простого вложения инструкций с помощью конструкции $() bash?

git log $(git merge-base dev master)..HEAD --pretty=oneline --format="%s" | grep -v "Merge pull request"

Это одна строка, но будет ли она соответствовать вашему определению «в одной команде»?

16
задан Macros 4 May 2009 в 22:12
поделиться

2 ответа

Вам нужно создать обработчик событий. Каждый объект ExtJs имеет ряд событий, которые автоматически связываются с ними. Вы должны написать обработчик событий (функцию), который затем можно было бы назначить прослушивателю событий. Итак, в этом случае вы, вероятно, захотите назначить обработчик события событию 'click' вашего компонента TreePanel.

var tbPan = new Ext.tree.TreePanel({
    itemId:'navTree',
    autoScroll: true,
    root: new Ext.tree.TreeNode({
        id: 'root',
        text: 'My Tree Root',
        rootVisible: true
    }),
    listeners: {
        click: {
            fn:clickListener
        }
    }
});

clickListener = function (node,event){
    // The node argument represents the node that
    // was clicked on within your TreePanel
};

Но что произойдет, если вы захотите узнать узел, который уже выбран? На этом этапе вам потребуется доступ к модели выбора TreePanel. Вы упомянули действие кнопки. Предположим, вы хотели применить функцию к обработчику нажатия этой кнопки, чтобы получить выбранный узел:

var btn = new Ext.Button({
    text: 'Get Value',
    handler: function (thisBtn,event){
        var node = Ext.fly('navTree').getSelectionModel().getSelectedNode();
    }
});

Вы использовали легковесный элемент, чтобы быстро получить ссылку на сам TreePanel, а затем использовали внутренний метод этого TreePanel для получения его модели выбора. После этого вы использовали внутренний метод этой модели выбора (в данном случае DefaultSelectionModel) для получения выбранного узла.

Вы найдете множество информации в документации Ext JS. Онлайн-интерфейс (и автономное приложение AIR) довольно обширен. Руководство Ext Core также может дать вам подробное представление о разработке ExtJS, даже если вы не используете Core напрямую.

17
ответ дан 30 November 2019 в 16:05
поделиться

Я задавал себе этот вопрос раньше. Однако это очень сложно сказать, потому что у них все запутано. Кто знает, что они делают? Это их частная собственность, их серверы являются частными от мира.

Я кое-что знаю. Они сильно загрязнили глобальное пространство имен модулями, которые не начинаются с dojo, YAHOO или jQuery.

Очевидно, у них есть собственная библиотека JavaScript под названием FBJS, однако я не знаю, в какой степени они используют это на их собственном сайте.

http://wiki.developers.facebook.com/index.

3
ответ дан 30 November 2019 в 16:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: