javascript - 允许 Enyo 中的工具提示包含 HTML 内容

标签 javascript enyo

我正在开发工具提示,我的要求是当用户将鼠标悬停在某个图标按钮上时,在工具提示内逐行显示更多详细信息。目前,我正在尝试这样:

{kind: "moon.TooltipDecorator", components: [
                    {kind: "moon.IconButton", src: "$lib/moonstone/samples/assets/icon-button-enyo-logo.png"},
                    {kind: "moon.Tooltip", name:'info', floating: true, contentUpperCase: false,allowHtml: true, content: "Floating tooltip <br>for an IconButton."}
                ]
}

但这就像对待字符串一样对待 HTML 内容。我尝试动态设置,但结果是一样的。以下是我尝试过的:

this.$.info.setContent('Fare Charges'+ "<span style='border:1px solid'"+flightsData[0].price+'</span><br>'+'<span>Some more data</span>');

有什么方法可以实现吗?

最佳答案

moon.Tooltip 被设计为仅是单行文本。如果您想要多行,您可以基于 Moon.Tooltip 创建自己的工具提示。

enyo.kind({
    name: 'my.Tooltip',
    kind: 'moon.Tooltip',
    published: {
        allowHtml: false
    },

    allowHtmlChanged: function() {
        this.$.client.set('allowHtml', this.allowHtml);
    },

    create: function () {
        this.inherited(arguments);
        this.allowHtmlChanged();
    },

});

enyo.kind({
    name: "App",
    components: [
        {kind: "moon.TooltipDecorator", components: [
                    {kind: "moon.IconButton", src:   "$lib/moonstone/samples/assets/icon-button-enyo-logo.png"},
                    {kind: "my.Tooltip", name:'info', floating: true, contentUpperCase: false, allowHtml: true, content: "Floating tooltip <br>for an IconButton."}
                ]
        }
     ]
});

new App().renderInto(document.body);

您还需要覆盖 .moon-tooltip-label CSS 类:

.moon-tooltip-label {
    height:auto;
}

关于javascript - 允许 Enyo 中的工具提示包含 HTML 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28995167/

相关文章:

javascript - jQuery select2 : duplicate tag getting recreated

javascript - bool 玛卡的简单 jQuery 切换不起作用

javascript - 颜色范围内的颜色列表项

javascript - 用于简单 ajax 网站的 Fetch as Google 工具无法正常工作

css - 如何以编程方式更改 enyo 中 Canvas 的背景图像

javascript - Enyo onbeforeunload 事件

javascript - 如何使用 npm dbus-network-manager 更改以太网接口(interface)的 IP 地址?

javascript - WebOS onComplete 事件或模拟

javascript - Enyo 自定义属性