我的星期五晚上用于解决意外问题)这是关于如何禁用NestedList组件中的原生工具栏(对于Sencha touch 2.3.1)。
默认情况下,使用工具栏创建NestedList。最后一个具有默认配置:
toolbar:{docked:'top',xtype:'titlebar',ui:'light',inline:true}
根据API docs.sencha.com/touch/2.3.1/#!/api/Ext.dataview.NestedList-cfg-toolbar工具栏配置看起来像
工具栏:Ext.Toolbar / Object / Boolean
所以我认为布尔表示显示(true)或不显示(false)
好吧,让我们做一些 magic 练习,这是我的例子:
var data = {
text: 'Groceries',
items: [{
text: 'Drinks',
items: [{
text: 'Water',
items: [{
text: 'Sparkling',
leaf: true
}, {
text: 'Still',
leaf: true
}]
}, {
text: 'Coffee',
leaf: true
},]
}, ]
};
Ext.define('ListItem', {
extend: 'Ext.data.Model',
config: {
fields: [{
name: 'text',
type: 'string'
}]
}
});
var store = Ext.create('Ext.data.TreeStore', {
model: 'ListItem',
defaultRootProperty: 'items',
root: data
});
var nestedList = Ext.create('Ext.NestedList', {
fullscreen: true,
title: 'Groceries',
displayField: 'text',
store: store,
//toolbar: false
});
取消注释// toolbar: false
会导致错误,例如
未捕获TypeError:对象#没有方法'insert'
等等。看起来像Sencha尝试在未存在的组件上执行'insert'方法(因为它被禁用,工具栏设置为false)
答案 0 :(得分:1)
也许是一个迟到的回答者,但我偶然发现了你的问题,我设法解决方法而没有对源文件进行任何修改。
只需在嵌套列表'config。
中设置toolbar:{hidden:true}
config: {
// other settings
toolbar: {hidden: true}
}
请告诉我这是否适合您,或者您是否希望我制作一个小提琴!
答案 1 :(得分:0)
谷歌并没有给我带来有用的信息,所以我能够自己修复它。
问题隐藏在src/dataview/NestedList.js
无论如何,这里是原始文件的差异http://www.diffnow.com/?report=o43bd并已修复。线条~640和~870受到影响。
欢迎您的评论!
谢谢