为了在网格中获取选定的行,我使用这个:
'#deleteWorkerButton': {
click: function(me, e, eOpts){
var grid = Ext.ComponentQuery.query('Worker')[0];
var selected = grid.getSelectionModel().getSelection()[0];
grid.getStore().remove(selected);
}
}
在我的商店中,我有发布此 JSON 的 url,但是当我使用 json_decode 时,我得到了这个:
object(stdClass) {
id => "5";
name => "tets";
email => "era@sdfsa.com";
phone => "test";
}
但我需要array()
,不需要stdClass
。
这是我的商店:
Ext.define('Sabrina.store.Workers', {
extend: 'Ext.data.Store',
fields:['id', 'name', 'email', 'phone'],
proxy: {
type: 'ajax',
api: {
create : 'php/usuarios.php?action=insert',
read : '../mega_sabrina_cake/workers/index',
update : 'php/usuarios.php?action=update',
destroy : '../mega_sabrina_cake/workers/delete'
},
actionMethods: {
create : 'POST',
read : 'POST',
update : 'POST',
destroy : 'POST'
},
reader: {
type: 'json',
root: 'Worker',
rootProperty: 'Worker',
successProperty: 'success',
messageProperty: 'message'
},
writer: {
type: 'json',
writeAllFields: true,
root: 'data',
encode: true
},
},
autoLoad: true,
autoSync: true
});
所以,我用它来删除数据。当 json_decode() 时,我可以用我的商店做些什么来获得一个“NORMAL”数组?
我认为问题出在:
grid.getStore().remove(selected);