我创建了一个Ext.ux.form.field.DateTime插件,但这里有一些问题:
Ext.define('Ext.ux.form.field.DateTime', {
extend:'Ext.form.FieldContainer',
mixins: {
field: 'Ext.form.field.Field'
},
alias: 'widget.datetimefield',
layout: 'hbox',
width: 200,
height: 22,
combineErrors: true,
msgTarget :'side',
dateCfg:{},
timeCfg:{},
initComponent: function() {
var me = this;
me.buildField();
me.callParent();
this.dateField = this.down('datefield')
this.timeField = this.down('timefield')
me.initField();
},
//@private
buildField: function(){
this.items = [
Ext.apply({
xtype: 'datefield',
format: 'Y-m-d',
width: 100
},this.dateCfg),
Ext.apply({
xtype: 'timefield',
format: 'H:i',
width: 80
},this.timeCfg)
]
},
getValue: function() {
var value,date = this.dateField.getSubmitValue(),time = this.timeField.getSubmitValue();
if(date){
if(time){
var format = …
Run Code Online (Sandbox Code Playgroud) 我想在ExtJS 4中将几个标准表单字段组合成一个自定义表单字段.基本上,我想要一个类别选择器:当您从第一个组合框中选择一个类别时,会出现一个显示其子类别的辅助组合框,依此类推.
我已经为此编写了逻辑,它全部封装在一个扩展Ext.form.FieldSet的自定义组件中.但是,我想在带有记录的表单中使用此组件,因此我猜我需要将其转换为具有setValue,getValue和验证器等函数的字段.我发现提供所有这些的Ext.form.field.Base,但我找不到一种方法来和谐地组合这两个组件(像Ext.form.FieldSet这样的容器+像Ext.form.field.base这样的字段) .
有谁知道我是否以及如何实现这一目标?
先感谢您!
我在 ext js 中定义了一个自定义表单字段。
自定义字段仅包含一个按钮(该按钮可以是一些文本或图像,等等)。
我要强行实现我的价值。所以我设置getValue
返回一些字符串。
该方法未被调用。
我希望发生两件事。
1.getValue
将是将在提交中发送的值。
2.setValue
会给我form.load(...)
已加载的数据,我会按照我的方式处理它......
这是一个例子,点击提交,你会看到这getValue
不是被调用的。http://jsfiddle.net/RB9Hp/
或者这个更现实的用例:http://jsfiddle.net/FTV3R/ <- 这不会发送来自 getValue 的值
Ext.define('Ext.form.CustomField', {
extend: 'Ext.form.FieldContainer',
alias: 'widget.customfield',
width: 300,
constructor: function(config) {
this.callParent([config]);
},
getValue : function(){
console.log("getValue");
return "test"; // I want to force new value.
},
setValue : function(val){},
initComponent: function() {
this.items = ([{'xtype' : 'button',text : 'some button'}]);
this.callParent();
}
});
Run Code Online (Sandbox Code Playgroud)