使用extjs时,在Data中保持空格

时间:2017-05-29 10:16:54

标签: javascript php css3 extjs

我有一个DB,其中包含一些数据,例如。员工记录,假设一条记录的文本字段为" Hel(多个空格)lo" ,那么在前端我也希望数据显示必须是" Hel(多个空格)lo"但不是" Hel lo"即必须提供额外的白色空格。我使用ext.js来渲染html,这是ext.js的属性

2 个答案:

答案 0 :(得分:0)

您必须在列中指定renderer配置,并将space替换为 

renderer: function(value){
   return value.replace(/[^A-Z0-9]/ig, " ");
}

答案 1 :(得分:0)

负责渲染空格的样式为white-space

根据您的说明,我认为您需要white-space:prewhite-space:pre-wrap

以下是将此样式应用于列的一种方法示例:

Ext.util.CSS.createStyleSheet(
    '.custom-whitespace .x-grid-cell-inner { white-space:pre }'
);

Ext.create('Ext.grid.Panel', {
    renderTo: Ext.getBody(),

    title: 'StackOverflow: Maintain white-spaces in Data when using extjs',

    columns: [{
        header: 'col',
        flex: 1,
        dataIndex: 'field1',
        tdCls: 'custom-whitespace'
    }],

    store: [
        ['one two three'],
        ['four five    six'],
        ['seven eight nine']
    ]
});

也可在sencha fiddle中使用,以方便您使用。