首页 > 解决方案 > 如何将 html 放入 Ext.each() 并在其中呈现值-EXTJS

问题描述

我想在 forEach 循环中渲染一个跨度。我是这样做的:

var data = [5, 78, 8, 9, 6, 5];

render: function(data) {
  return [
    '<div>'
    Ext.util.Format.ellipsis(this.name, 48),
    '<span>',
    Ext.each(data, function(ct) {
      Ext.util.Format.number(ct, '0,000')
    }),
    '</span>',
    '</div>'
  ].join('');
}

但是上面的代码没有在元素内渲染任何值,如果我调试它,我会看到 ct 内的值,但是在渲染时没有任何显示在里面。知道如何使用 EXTJS 将 html 放入 for 循环吗?

标签: javascriptextjs

解决方案


尝试这样的事情:

var data = [5, 78, 8];
Ext.application({
    name: 'Fiddle',

    launch: function () {
        new Ext.panel.Panel({
            renderTo: document.body,
            width: 500,
            height: 500,
            html: data.map((x) => {
                return `<div>
                    <span>Some Name: </span>
                    <span>${Ext.util.Format.number(x, '0,000')}</span>
                </div>`
            }),
            renderTo: Ext.getBody()
        });
    }
});

在这个演示 Sencha's Fiddle中似乎工作正常


推荐阅读