0

我测试下面的 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如下: value: ' The first line \n The second line',

它会得到错误: SyntaxError: unterminated string literal

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

顺便说一句,这个问题是由树面板渲染引起的:

我在 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

4

1 回答 1

0

'items'参数内部:文本不正确'textarea'的'子参数','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();

于 2014-07-31T07:04:23.633 回答