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 stringliteral

しかし、 textarea に新しい行を表示する必要があります。これに対する正しい解決策は何ですか?

ところで、この問題は Tree Panel render によって引き起こされます:

MainController.js に以下のような render メソッドがあります。

    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、エラーが発生します - SyntaxError: unterminated stringliteral

4

1 に答える 1

0

'items' パラメーター内: テキストが正しくありません '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();

于 2014-07-31T07:04:23.633 に答える