我有一个Map<String, String>
我想向用户显示但我不希望他们能够选择字段来修改它的值。我一直在使用带有文本字段的表单并设置设置属性来禁用它们。这不是理想的美学变化。我是按照正确的方式做的,只需要应用一些css,或者他们是更好的方法吗?
答案 0 :(得分:1)
你可以制作一个不可修改的表格'标签',但看起来像表格的其余部分。可能需要一些调整,但这应该让你开始:
Ext.form.LabelField = function(config){
Ext.form.LabelField.superclass.constructor.call(this, config);
};
Ext.extend(Ext.form.LabelField, Ext.form.Field, {
isField: true,
value: '',
renderSelectors: {fieldEl: '.x-form-labelfield'},
renderTpl: [
'<tpl if="label">',
'<div class="x-form-label"><span>{label}</span></div>',
'</tpl>',
'<div class="x-form-label x-form-labelfield" style="width:70%; text-align:right"><span>{value}</span></div>',
],
setValue:function(val) {
this.value = val;
if(this.rendered){
this.fieldEl.update('<span>' + val + '</span>');
}
return this;
},
});
Ext.reg('labelfield', Ext.form.LabelField);
答案 1 :(得分:0)
我有同样的需求,并希望该字段的功能类似于ExtJS显示字段。我在Sencha Touch中通过创建字段,禁用它,然后添加回正常的字段类来完成此操作。使用disable:true删除编辑器,但该字段不会显示为灰色且仍然易于阅读。
{
xtype: 'textfield',
disabled: true,
disabledCls: 'x-field',
label: 'Label',
name: 'name'
}
如果我有足够的这些字段并花时间覆盖我需要的其他字段类型,这可能会成为一个简单的覆盖。