2014-02-07 58 views
0

我想開發一個應用程序,通過JSON從外部數據庫獲取表單數據。我需要根據這個動態數據創建表單域及其屬性。鈦經典或合金的動態形式

在我看來,我需要在鈦合金中使用經典的方式,而不是合金,因爲我認爲我不能在Alloy的xml(視圖)方面動態添加任何行。我是正確的還是可以在合金中做到這一點?如果是,請告訴我如何

回答

3

這可以做到。使用這個小工具https://github.com/albinotonnina/it.numidia.gridWidget我能弄清楚如何在Alloy中創建動態內容。與此小部件中使用的方法類似,我爲每個想要支持的項目都有一個控制器。我創建了一個textfield,textarea和其他標籤。它允許我仍然使用合金樣式並動態添加元素到我的視圖。

這裏是我的文本域控制器的例子:

XML

<Alloy> 
    <TextField id="textfield"/> 
</Alloy> 

JS

function applyProperties(_props){ 
    var apply = {}; 

    _.extend(apply, _.pick(_props, 'left', 'value', 'textAlign', 'font', 'color', 'shadowOff')); 
    // alert(apply); 
    $.textfield.applyProperties(apply); 
} 

exports.getContent = function(){ 
    return $.textfield.value; 
}; 
exports.setContent = function(val){ 
    $.textfield.value = val; 
}; 


if(arguments[0]){ 
    applyProperties(arguments[0]); 
} 

exports.applyProperties = applyProperties; 

的風格完全是空的,因爲我使用的是app.tss樣式此元件。

+0

嘿馬丁 - 這是一個非常酷的想法。你還推薦這種方法嗎?是否有輸入小部件的公共存儲庫? – jrhicks

+1

這是我發現的最接近http://alloylove.com/。否則,我傾向於發現他們在網絡或github存儲庫周圍搜索。 – Martin