我测试下面的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
答案 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();