2016-10-12 7 views
0

に動作するように私は、このガイドに従うことをしようとしています。http://developers-club.com/posts/256505/

私は単純に、なぜ$$(「はmyList」)を把握することはできません更新します。 () 動かない ? webixの完全な初心者で、助けてください。

私のコードはここにある:http://sahanaya.net/webix/webix2.html

{view:"tree", id:"myTree", data:recordsData, select: oceanData, on: { 
    onSelectChange: function(){ 
     selected = $$("myTree").getSelectedId(); 
      if (isNaN(selected)) { 
       $$("myList").clearAll(); 
       $$("myList").define("data", selected); 
       $$("myList").refresh(); <-- THIS DOES NOT WORK ?? 
       coverPath = "imgs/" + selected + ".jpg" 
       $$("myCover").define("data", { src: coverPath }); 
      } 
    } 
} 

答えて

1

define("data", /**/)は動作しません。 data loading (docs)のための別の方法があります、parse()

はまた、いくつかの改善がツリーの設定に便利な私見

  • なり、selectはboolean型プロパティです(とうん、同じ名前のメソッドがあります)。
  • は不要リロード
  • あなたselected変数が文字列である避けるために、アイテムのレベルをチェックすることが有用である、とあなたが対応する変数を使用したい場合は、詳細at this topicをチェックします。
  • テンプレートデータを変更したい場合は、より良い、直接それを行うと、初期選択を設定するrefresh()
  • を使用するには、ツリーが

に初期化された瞬間をキャッチするreadyハンドラがあります。ここです私が提案するツリーの設定:

{ 
     view:"tree", 
     id:"myTree", 
     data:recordsData, 
     select: true, // boolean property. 
     on: { 
     onSelectChange: function(){    
      selected = $$("myTree").getSelectedId();    
      if (isNaN(selected)) {    
      var selectedItem = $$("myTree").getItem(selected);       
      if (selectedItem.$level == 2){ // checks whether it's the 'album' level 
       $$("myList").clearAll(); 
       $$("myList").parse(window[selected]); // instead of `define`+`refresh` 
       // note that string ID isn't the variable name, but window[selected] can handle the global variable 
       coverPath = "imgs/" + selected + ".jpg"; 
       // but `refresh` is required for ui.template: 
       $$("myCover").data.title = coverPath; 
       $$("myCover").refresh(); 
      } 
      } 
     }    
     }, 
     ready:function(){ 
     this.open("1"); 
     this.select("oceanData") // therefore, initial var selected can be an empty array 
     } 
    } 
+0

私はここでは初心者の方に感謝します。あなたが最初に説明したことを「理解する」ようにしてみましょう。それからもっと多くの質問があります:-) –

+0

あなたは大歓迎です!実際には、その記事は奇妙です(あるいは時代遅れです)。私が知る限り、Webixを知っている限り、データを定義することはまったく機能しません。 – Loj

+0

Hey Loj、私はあなたのコードをテストしました。これが正しい答えとして受け入れられます。私はまだ物事を完全に理解していますが、webixの人々がやったことに非常に感銘を受け、GPLバージョンも持っています。チュートリアルがあれば、私にいくつかのリンクを送ってください。もう一度、ありがとう。 –

関連する問題