2017-01-06 2 views
0

У меня возникла проблема с фильтрациейSelect и хранилищем, созданным с помощью dojox.data.XmlStore. После того, как элемент загружен, он отображает идентификатор вместо заголовка (из displayValue).dijit/form/FilteringSelect и dojox.data.XmlStore

After the page is loaded - The unexpected result

Как я могу это исправить? Есть ли обходной путь? (Может быть, у меня есть только две левые руки ...)

HTML,-файла:

<!DOCTYPE html> 
<html > 
    <head> 

     <link rel="stylesheet" href="resources/js/dojo/dijit/themes/claro/claro.css"> 
     <script>dojoConfig = {parseOnLoad: true}</script> 
     <script src='resources/js/dojo/dojo/dojo.js'></script> 
     <script> 
      dojo.require("dojox.data.XmlStore"); 
      var store = new dojox.data.XmlStore({url: "test.xml", rootItem: "states", keyAttribute:"id", label:"name"}); 
      require([ 
       "dojo/store/Memory", "dijit/form/FilteringSelect", "dojo/domReady!" 
      ], function(Memory, FilteringSelect){ 

      var filteringSelect = new FilteringSelect({ 
        id: "stateSelect", 
        name: "state", 
        displayedValue : "test", 
        store: store, 
        searchAttr: "name", 
        labelAttr:'name', 
        labelType: "text" 
       }, "stateSelect").startup(); 
      }); 

     </script> 
    </head> 
    <body class="claro"> 

     <input id="stateSelect"> 

    </body> 
</html> 

"text.xml":

<?xml version="1.0" encoding="UTF-8"?> 
<states> 
    <state> 
     <id>3</id> 
     <name>important</name> 
    </state> 
    <state> 
     <id>4</id> 
     <name>also important</name> 
    </state> 
    <state> 
     <id>5</id> 
     <name>test</name> 
    </state> 
    <state> 
     <id>8</id> 
     <name>scumm</name> 
    </state> 
</states> 

ответ

0

это выглядит, как вы rootItem является причина проблемы. Вы указываете rootItem как узел документа корня, но rootItem для определения ваших основных элементов (элементы, чтобы показать)

Если rootItem не предусмотрено, то XmlStore принимает теги под корневым элементом документа являются корневые элементы.

поэтому в вашем случае rootItem должен быть «state» вместо «состояний»

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