extjs - ExtJS - xtype 'breadcrumb':更改选择框和面包屑文本列表中的项目和样式
问题描述
我有一个目录(文件夹)结构,我用 xtype 'breadcrumb'(ExtJS 版本 6.6)显示。
现在我将在我的应用程序中添加一个额外的切换。当我激活切换时,所有文件夹都应显示在面包屑文本列表和选择框中。这是我的实际开发状态并且工作正常。
当我禁用切换时,文件夹名称中带有前导“A”的所有文件夹都应该隐藏在选择框中(或者应该被禁用并显示为灰色)。在面包屑文本列表中,此(“A”-)文件夹应显示为灰色。
例如,我的应用程序中有面包屑文本列表“root > folder_0_0 > folder_1_0”,然后我更改了切换值:然后我不想重新加载完整的面包屑。
我该如何解决这个问题?谢谢你的提示托马斯
这是我的代码。你可以找到这个:https ://fiddle.sencha.com/#view/editor&fiddle/2mqb
Ext.application({
name: 'BeadcrumbTest',
launch: function() {
var store = Ext.create('Ext.data.TreeStore', {
root: {
expanded: true,
text: 'Root_folder',
children: [{
text: 'A_folder',
leaf: true
}, {
text: 'B_folder',
expanded: true,
children: [{
text: 'A_folder',
leaf: true
}, {
text: 'B_folder',
leaf: true
}]
}, {
text: 'C_folder',
leaf: true
}]
}
}),
panel = Ext.create('Ext.panel.Panel', {
renderTo: Ext.getBody(),
width: 400,
height: 100,
bodyPadding: 10,
tbar: {
xtype: 'breadcrumb',
store: store
},
buttons: ['->', {
xtype: 'button',
text: 'Handle "A" folder',
handler: function() {
// todo
}
}]
});
}
});
解决方案
我找到了解决方案:我覆盖了 classic/src/Breadcrumb.js 中的 updateSelection()、_onMenuClick() 和 _onMenuBeforeShow() 方法。
推荐阅读
- jdbc - 当新记录插入或更新数据库表中的现有记录时,如何 Hazelcast jet JDBC 继续源获取数据?
- java - 使用 Jackson 将 Java8 LocalDateTime 序列化为 UTC 时间戳
- swift - 编写一个返回自身的 Swift 函数
- javascript - 无法设置未定义的属性“道具”
- apache-camel - 用骆驼创建报告
- r - 随机选择ggtheme
- javascript - 如何从 youtube 嵌入 HTML 正则表达式嵌入 url?
- tkinter - 如何更新 tkinter 子帧类中的标签文本
- php - 在自定义 Twig 过滤器中调用内置过滤器
- javascript - 如何修复facebook共享弹出窗口中的空图像