ExtJS 4桌面-如何设置桌面快捷方式工具提示
为桌面快捷方式设置工具提示的最佳方式是什么 在我的getDesktopConfig()中,我创建了一个包含iconCls、module、name字段的快捷方式数据数组。以下是将用户模块快捷方式添加到阵列,然后将阵列设置为快捷方式数据存储的数据属性的示例,快捷方式数据存储用于创建桌面快捷方式:ExtJS 4桌面-如何设置桌面快捷方式工具提示,extjs,extjs4,extjs-mvc,Extjs,Extjs4,Extjs Mvc,为桌面快捷方式设置工具提示的最佳方式是什么 在我的getDesktopConfig()中,我创建了一个包含iconCls、module、name字段的快捷方式数据数组。以下是将用户模块快捷方式添加到阵列,然后将阵列设置为快捷方式数据存储的数据属性的示例,快捷方式数据存储用于创建桌面快捷方式: Ext.define("MyDesktop.App", { extend: "Ext.ux.desktop.App", .... getDesktopConfig: functio
Ext.define("MyDesktop.App", {
extend: "Ext.ux.desktop.App",
....
getDesktopConfig: function () {
var b = this;
var a = b.callParent();
.....
shortcut_data.push({
iconCls: "users-shortcut",
module: "users-module-window",
name: "Users"
});
......
return Ext.apply(a,{
contextMenuItems: [{
text: "Dashboards",
handler: b.onDashboards,
scope: b
}],
shortcuts: Ext.create("Ext.data.Store",{
model: "Ext.ux.desktop.ShortcutModel",
data: shortcut_data
}),
wallpaper: "/assets/MyApp_Wallpaper.jpg",
wallpaperStretch: false
})
})
},
.....
假设快捷方式是由按钮衍生工具生成的,我会使用工具提示:“一些文本”配置用于快捷方式数据。为工具提示在Ext.ux.desktop.ShortcutModel中添加一个字段。在这里,我把它命名为qtipText。Ext.ux.desktop.ShortcutModel显示现在如下所示:
Ext.define('Ext.ux.desktop.ShortcutModel', {
extend: 'Ext.data.Model',
fields: [
{ name: 'name' },
{ name: 'iconCls' },
{ name: 'module' },
{ name: 'qtipText' }
]
});
现在,在定义快捷方式时,将此字段与工具提示的值一起添加:
shortcut_data.push({
iconCls: "users-shortcut",
module: "users-module-window",
name: "Users",
qtipText: "Open Users Window"
});
在Ext.ux.desktop.desktop的initComponent方法中,您将看到shortcutsView的itemclick事件有一个侦听器。只需为itemmouseenter事件添加另一个侦听器:
me.shortcutsView.on('itemmouseenter', me.onShortcutItemMouseEnter, me);
按如下方式定义处理程序:
onShortcutItemMouseEnter: function (dataView, record) {
if(!dataView.tip)
dataView.tip = Ext.create('Ext.tip.ToolTip', {
target: dataView.el,
delegate: dataView.itemSelector,
trackMouse: true,
html: record.get('qtipText')
});
else
dataView.tip.update(record.get('qtipText'));
},
dataView.tip首次不存在,我们为此视图创建了工具提示。稍后,我们只需根据记录更新提示文本(对应于鼠标移动过的快捷方式)。您缺少一条关键信息。呈现快捷方式的组件是什么?如果这是您的快捷方式配置{iconCls:“用户快捷方式”,模块:“用户模块窗口”,名称:“用户”}它应用于什么?快捷方式将添加到桌面应用程序。更新问题。我理解。但是我不熟悉这个应用,你能提供快捷图标的ExtJS组件类型吗?它是按钮的衍生物吗?桌面上的“快捷方式”对象是Ext.data.Store。每个“快捷方式”项都是Ext.ux.desktop.ShortcutModel,其定义是:Ext.define(“Ext.ux.desktop.ShortcutModel”),{extend:“Ext.data.Model”,字段:[{name:“name”},{name:“iconCls”},{name:“module}];你很困惑。存储只是一个记录数组。每个记录都是一个快捷方式的配置。但此配置应用于呈现快捷方式的组件。该组件可能是一个外部按钮。。。对吗?这很有意义,这是我尝试的第一件事,包括将该属性添加到ShortcutModel。运气不好,有工具提示吗?也就是说,QTIP是否已通过以下方式初始化:Ext.QuickTips.init();请查看Sencha演示桌面应用程序: