нельзя заполнить dijit / form / select с помощью dstore / Memory memory store - PullRequest
0 голосов
/ 06 ноября 2019

Я использую Dojo версии 1.14.2 с dstore версии 1.1.2. Я пытаюсь заполнить выбор хранилищем памяти, а выбор остается пустым.

я использую следующие классы: "dstore / Memory", "dstore / legacy / DstoreAdapter", "dijit / form / Select"

Я пытаюсь заполнить выбор с помощьюэтот код:

 GetJobCategoriesConfirm: function (data, msg) {
            if (msg === "ok") {
                JobCategoryStore = new Memory({ data: data.JobCategoriesGetResult, idProperty: "Category" });
                this.selectJobCategory.set("labelAttr", "Category");
                this.selectJobCategory.setStore(JobCategoryStore);
                //this.selectJobCategory.set("store", JobCategoryStore); //doesnt work either

            }
            else {
                alert(msg);
            }
        }

Я подтвердил, что я получаю данные от функции в формате json (есть 14 записей), объект хранилища выглядит нормально, выборка названа правильно,столбцы в хранилище данных названы правильно, а CategoryID является строкой. Не выдается никакой ошибки, просто выбор не заполняется данными. Любые идеи относительно того, что может происходить?

Спасибо

Пит

1 Ответ

0 голосов
/ 07 ноября 2019

У сайта Пенна был ответ здесь: https://github.com/SitePen/dstore/blob/master/docs/Adapters.md

Мне нужно было реализовать DstoreAdaptor, чтобы dstore мог использоваться в качестве устаревшего додзё / магазина. Новый код:

          GetJobCategoriesConfirm: function (data, msg) {
            if (msg === "ok") {
                JobCategoryStore = new Memory({ data: data.JobCategoriesGetResult, idProperty: "Category" });
                var adaptedStore = new DstoreAdapter(JobCategoryStore); 
                this.selectJobCategory.set("labelAttr", "Category");
                this.selectJobCategory.setStore(adaptedStore);

            }
            else {
                alert(msg);
            }
        },
...