2016-08-17 2 views
1

У меня есть простая сетка, которая выглядит так:магазин добавить - не работает

{ 
    xtype: "grid", 
    columns: [{ 
     header: 'Title', flex: 1, dataIndex: 'Title' 
    }], 
    store: Ext.create('Ext.data.Store', { 
     fields:['id', 'Title'] 
    }) 
} 

И у меня есть функция (прилагается к кнопке), который, я считаю, должны заселить эту сетку с некоторыми данными , Он делает это так:

grid.store.removeAll(); 
records = [{"id":"1", "Title", "Hello world"}]; 
grid.store.add(records); 
grid.store.load(); 
console.log(grid.store.getCount()); 

Но по какой-то безумной причине, магазин пуст и grid.store.getCount() эхо «0». Что, черт возьми, происходит? PS. Я использую ExtJS 6.

EDIT

Если же я немного изменить свой код к этому:

... 
store: Ext.create('Ext.data.Store', { 
    autoLoad: false, 
    fields:['id','Title'], 
    data:[{"id": 1,"Title": "Hello world"}] 
}) 
... 

//and in function just one line of code: 
grid.store.load(); 

тогда он начинает работать. Итак, кажется, что вся проблема связана с store.add. Он не делает то, что должен.

ответ

2

Просто удалите grid.store.load().

load отмечает, что магазин имеет нагрузку, но если вы добавляете записи, используя add, это не то, что вам нужно.

Рабочий пример: https://fiddle.sencha.com/#fiddle/1fbv

+0

О, благодарю вас, сэр! Ты спас мой день сто раз. – Jacobian

Смежные вопросы