我有一个DB,其中包含一些数据,例如。员工记录,假设一条记录的文本字段为" Hel(多个空格)lo" ,那么在前端我也希望数据显示必须是" Hel(多个空格)lo"但不是" Hel lo"即必须提供额外的白色空格。我使用ext.js来渲染html,这是ext.js的属性
答案 0 :(得分:0)
您必须在列中指定renderer
配置,并将space
替换为
renderer: function(value){
return value.replace(/[^A-Z0-9]/ig, " ");
}
答案 1 :(得分:0)
负责渲染空格的样式为white-space
。
根据您的说明,我认为您需要white-space:pre
或white-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中使用,以方便您使用。