【问题标题】:Titanium Classic or Alloy for Dynamic Forms钛经典或合金用于动态形式
【发布时间】:2014-02-07 22:40:36
【问题描述】:

我想开发一个应用程序,它通过 JSON 从外部数据库获取表单数据。我需要根据这些动态数据创建表单字段及其属性。

在我看来,我需要在 Titanium 中使用经典方式而不是合金,因为我认为我无法在合金的 xml(视图)端动态添加任何行。我是正确的还是也可以在合金中做到这一点?如果可以,请告诉我怎么做

【问题讨论】:

    标签: forms appcelerator titanium-mobile titanium-alloy


    【解决方案1】:

    这是可以做到的。使用这个小部件https://github.com/albinotonnina/it.numidia.gridWidget 我能够弄清楚如何在 Alloy 中创建动态内容。与此小部件中使用的方法类似,我为要支持的每个项目都有一个控制器。我创建了一个文本字段、文本区域、标签等。它允许我仍然使用 Alloy 样式并将元素动态添加到我的视图中。

    这是我的文本字段控制器的示例:

    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 来设置此元素的样式。

    【讨论】:

    • 嘿马丁 - 这是一个非常酷的想法。您仍然推荐这种方法吗?是否有输入小部件的公共存储库?
    • 这是我发现的最接近的合并它们alloylove.com。否则我会发现他们在网络或 github 存储库中搜索。
    猜你喜欢
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多