簡體   English   中英

加載后在Sencha Touch中更新列表項

[英]Update a List Item in Sencha Touch After Loading

我正在使用Sencha Touch制作網絡移動應用。 我對EXTJS的工作方式不是很熟悉。 我這樣設置清單:

sink.Structure = [{
        text: 'Name'
    },
    {
        text: '&nbsp;&nbsp;&nbsp;<?php echo $name; ?>'
    },
    {
        text: 'Friend'
    },
    {
        text: '&nbsp;&nbsp;&nbsp;<?php echo $friend; ?>'
    },
    {
        text: 'Shop'
    },
    {
        text: '&nbsp;&nbsp;&nbsp;<?php echo $shop; ?>'
    }];

            Ext.regModel('Demo', {
            fields: [
                {name: 'text',        type: 'string'},
                {name: 'source',      type: 'string'},
                {name: 'preventHide', type: 'boolean'},
                {name: 'animation'},
                {name: 'card'}
            ]
        });

        sink.StructureStore = new Ext.data.TreeStore({
            model: 'Demo',
            root: {
                items: sink.Structure
            },
            proxy: {
                type: 'ajax',
                reader: {
                    type: 'tree',
                    root: 'items'
                }
            }
        });

這樣就完美地呈現了列表,正是我想要的,但是如何更改回顯$ name的行的值;

在初始加載時,我在PHP變量中具有該值,但是如果用戶對其進行更改,則希望它更改其值。 我需要重寫整個結構嗎?

在Jquery中,我可以給元素一個ID,然后更改它的.html內容。 但是我注意到,列表項的結構方式沒有任何可用來引用它的識別選擇器。 任何建議都會有所幫助,謝謝!

更新:因此,我在此上取得了一些進展,而不是在列表結構中回顯PHP變量,而是打印了一個名為name的Javascript變量,該變量最初設置為PHP變量。 我還將sink.Structure設置放入一個函數中,該函數接受值,然后應該將其重置,但事實並非如此。 我試圖使函數包括接收器.structureStore,因為似乎這是呈現列表的內容(也許嗎?這是一個猜測),也只是接收器。結構數組列表,但似乎沒有什么影響已經設置的列表, 請幫忙!

列表是數據綁定的。 更新基礎數據存儲中的數據,綁定到該數據存儲的任何列表都將自動更新其用戶界面。

  1. 您必須使用新值更新Data.Store。
  2. YourList.bindStore(YourStore);
  3. 第二行代碼自動填充列表。

我不得不說,我對Sencha Touch的工作方式感到失望,它似乎是在第一次加載時就渲染了列表,因此無法重新渲染,因為它動態創建了所有帶有“ x-list-item”類的div。 ”。 我嘗試了許多方法來擺脫列表並重新創建一個新列表,但無濟於事。

我設法使它起作用的唯一方法是,將div標簽放入具有ID的list元素內,然后使用JQuery選擇元素並更改其html。 這是我使用Sencha Touch開發的第一個應用程序,希望它是最后一個。

我們這樣做的唯一原因是因為它與Android兼容,但是在Android Emulator(2.2)上加載該應用程序后,所有頁面翻轉動畫都無法正常工作! 另外,在Nexus One上進行了測試,它的加載速度更快,但沒有幻燈片切換。 盡管Sencha還有更多功能,但對於Web移動應用程序,我當然更喜歡JQTouch。 對不起,只好把它從我的胸口拿走:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM