Ext js 5 SyntaxError:未终止的字符串文字问题

时间:2014-07-31 06:46:04

标签: extjs5

我测试下面的Extjs5代码:

Ext.create('Ext.window.Window', {
        title: 'try extjs text area',
        width: 900,
        height: 500,
        layout: 'fit',
        items: [{ 
            xtype: 'textarea',
            value: ' The first line \n The second line',
            border: true,
            autoScroll: true,
            draggable: true
        }]
     }
    ).show();

问题是文字内容包含 \ n ,如下所示: 值:'第一行\ n第二行',

它会出错: SyntaxError:unterminated string literal

但我需要在textarea中显示一个新行。对此有什么正确的解决方案?

BTW,此问题是由Tree Panel渲染引起的:

我在MainController.js中有一个类似下面的渲染方法:

    renderLogs: function (logs, p, record) {
     return logs?  '<div><img src="default-more.png" /
       onclick="Ext.create(\'Ext.window.Window\', /
         { title: \'try extjs text area\', /
           width: 900,height: 500, /
           layout: \'fit\', /
           items: [{xtype: \'textarea\', /
           value: \'"+logs+"\', /
           border: true,autoScroll: true,draggable: true}]}).show(); "> /
      </img></div>' : '';
   }

因此,如果日志内容 \ n ,它将获得ERROR - SyntaxError:unterminated string literal

1 个答案:

答案 0 :(得分:0)

内部'items'参数:text不正确'textarea'的'sub-parameter','value'是正确的。那就是问题所在。正确的代码是: Ext.create('Ext.window.Window', { title: 'try extjs text area', width: 900, height: 500, layout: 'fit', items: { xtype: 'textarea', value: ' The first line \n The second line', border: true, autoScroll: true, draggable: true }} ).show();