带复选框且支持搜索功能的下拉列表9

// private
    findRecord : function(prop, value)
    {
        var record;
        if (this.store.getCount() > 0)
        {
            this.store.each(function(r)
            {
                if (r.data[prop] == value)
                {
                    record = r;
                    return false;
                }
            });
        }
        return record;
    },

    // private
    onViewMove : function(e, t)
    {
        this.inKeyMode = false;
    },

    // private
    onViewOver : function(e, t)
    {
        if (this.inKeyMode)
        { // prevent key nav and mouse over conflicts
            return;
        }
        var item = this.view.findItemFromChild(t);
        if (item)
        {
            var index = this.view.indexOf(item);
            this.select(index, false);
        }
    },

    // private
    onViewClick : function(doFocus)
    {
        var index = this.view.getSelectedIndexes()[0];
        var r = this.store.getAt(index);
        if (r)
        {
            this.onSelect(r, index);
        }
        if (doFocus !== false)
        {
            this.el.focus();
        }
    },

    // private
    restrictHeight : function()
    {
        this.innerList.dom.style.height = '';
        var inner = this.innerList.dom;
        var fw = this.list.getFrameWidth('tb');
        var h = Math.max(inner.clientHeight, inner.offsetHeight, inner.scrollHeight);
        this.innerList.setHeight(h < this.maxHeight ? 'auto' : this.maxHeight);
        this.list.beginUpdate();
        this.list.setHeight(this.innerList.getHeight() + fw + (this.resizable ? this.handleHeight : 0) + this
                .assetHeight);
        this.list.alignTo(this.el, this.listAlign);
        this.list.endUpdate();
    },

你可能感兴趣的:(下拉列表)