Sencha Touch: Disable scrolling for a Panel, List, or DataView?
I see that panels have the option to set scroll:
to horizontal or vertical, but is there any way to do something like: scroll: 'false'
? I've tried such without luck.
I have a DataView nested in a Panel. I can set the scroll direction of each independently, but I want the DataView not to scroll at开发者_StackOverflow社区 all.
[Any tips will earn answer points and a digital high five. Heck, I'll even throw in a bonus high SIX!]
Okay, turns out by fudging around a bit (as I've learned to do with poorly documented Sencha Touch) that disabling the scroll can be done as follows:
scroll: false
Note the absence of single or double quotes when setting scroll:
to false
. The values horizontal
and vertical
, however can be done with single or double quotes.
I think this relates to the fact that in javascript, strings (e.g. 'false', "false") are evaluated to true if not null. So "false", 'false', "true", 'true', 'junk', 'absce' all evaluate to true. So by setting the attribute value scroll:'false' or scroll:"false" it is actually setting it to true. Using the non-quoted false on the other hand is actually passing a proper boolean false value.
For Sencha Touch 2 users scroll can be disabled using the following config:
config: {
scrollable: false
}
http://docs.sencha.com/touch/2-1/#!/api/Ext.Panel-cfg-scrollable
You should setScrollable to false for your component.
Here is the example:
//'.items' CSS class or other selector
var itemsId = pageEl.up('.items').id;
//Find component
var itemsCmp = Ext.getCmp(itemsId);
//You can skip two previous lines in case you already have needed component
itemsCmp.setScrollable(false);
精彩评论