Extjs - 如何 access/modify Ext.data.Batch 开始前的数据
Extjs - How to access/modify the data before the Ext.data.Batch starts
-- Extjs - 6.6.0, Extjs Grid with Cell Editing 插件,记录保存操作到服务器
我的应用程序界面中有一个网格,其中包含适当的商店和附加到商店的模型。网格有一个带有日期编辑器的日期列,呈现格式为 'd-M-Y',提交给服务器的日期值为 'Y-m-d'。在通过会话开始的批处理保存操作期间,我无法访问数据以将日期格式修改为 'Y-m-d' 并作为 'd-M-Y' 提交,这导致了问题。
任何人都可以在 Ext.Data.Batch 开始之前提供有关 accessing/modifying 数据的信息。
注:
- 我无法用 Ajax 调用替换批处理。
- 我也已经为模型 class 尝试了 dateWriteFormat。
- 日期显示和提交格式必须是'd-M-Y' & 'Y-m-d'。
- 我无法 post 代码,因为它太大了。
如有任何帮助,我们将不胜感激。
有几种方法。
领域
您可能想通过 serialize 编辑商店的型号。
Ext.define('MyApp.model.Users', {
extend: 'Ciss.data.Model',
fields: [{
name: 'BirthDate',
type: 'date',
dateFormat: 'd m Y', // how the date format comes from the server
serialize: function (val) {
return Ext.Date.format(val, 'Y-m-d');
}
}];
});
作者
您可以使用 writer 使用 dateFormat
writer: {
type: 'json',
dateFormat: 'Y-m-d',
writeAllFields: true
}
虽然您的字段应该一直是日期类型
如果您还需要更多控制,可以使用 transform 方法。
Ext.create('Ext.data.Store', {
model: 'User',
proxy: {
type: 'ajax',
url : 'users.json',
writer: {
type: 'json',
transform: {
fn: function(data, request) {
// do some manipulation of the unserialized data object
return data;
},
scope: this
}
}
},
});
事件
您可以使用商店 beforesync 活动
最后的希望
如果所有这些都不适合您,您可以在发送之前获取每个请求。
-- Extjs - 6.6.0, Extjs Grid with Cell Editing 插件,记录保存操作到服务器
我的应用程序界面中有一个网格,其中包含适当的商店和附加到商店的模型。网格有一个带有日期编辑器的日期列,呈现格式为 'd-M-Y',提交给服务器的日期值为 'Y-m-d'。在通过会话开始的批处理保存操作期间,我无法访问数据以将日期格式修改为 'Y-m-d' 并作为 'd-M-Y' 提交,这导致了问题。
任何人都可以在 Ext.Data.Batch 开始之前提供有关 accessing/modifying 数据的信息。
注:
- 我无法用 Ajax 调用替换批处理。
- 我也已经为模型 class 尝试了 dateWriteFormat。
- 日期显示和提交格式必须是'd-M-Y' & 'Y-m-d'。
- 我无法 post 代码,因为它太大了。
如有任何帮助,我们将不胜感激。
有几种方法。
领域
您可能想通过 serialize 编辑商店的型号。
Ext.define('MyApp.model.Users', {
extend: 'Ciss.data.Model',
fields: [{
name: 'BirthDate',
type: 'date',
dateFormat: 'd m Y', // how the date format comes from the server
serialize: function (val) {
return Ext.Date.format(val, 'Y-m-d');
}
}];
});
作者
您可以使用 writer 使用 dateFormat
writer: {
type: 'json',
dateFormat: 'Y-m-d',
writeAllFields: true
}
虽然您的字段应该一直是日期类型
如果您还需要更多控制,可以使用 transform 方法。
Ext.create('Ext.data.Store', {
model: 'User',
proxy: {
type: 'ajax',
url : 'users.json',
writer: {
type: 'json',
transform: {
fn: function(data, request) {
// do some manipulation of the unserialized data object
return data;
},
scope: this
}
}
},
});
事件
您可以使用商店 beforesync 活动
最后的希望 如果所有这些都不适合您,您可以在发送之前获取每个请求。