在dojo中将单位添加到numberspinner

时间:2015-06-08 10:50:49

标签: dojo

我正在以编程方式创建一个在dojo中带有数字键盘的表容器。 有没有办法为旋转器添加一个单位(秒,米等)? 或者,如果这不可能,我如何添加仅包含标签的第二行?所以我可以在那里定义单位。

1 个答案:

答案 0 :(得分:0)

考虑创建一个自定义小部件,它将容纳您的"标签"价值,这是一个例子。

注意:

如果您愿意,可以将HTML模板$routeProvider.when('/list', { templateUrl: 'Employee/list.html', controller: 'EmpCtrl' <-- here somehow use EmpCtrl.list() }). when('/create', { templateUrl: 'Employee/edit.html', controller: 'EmpCtrl' <-- here somehow use EmpCtrl.add() }) 从标签更改为div。 下面我使用的是templateString,但您可以使用布局组件。

&#13;
&#13;
ContentPage()
&#13;
require(['dijit/form/NumberSpinner', 'dijit/layout/ContentPane', 'dijit/_WidgetBase', 'dijit/_TemplatedMixin', 'dojo/_base/declare', 'dojo/domReady!'], function(NumberSpinner, ContentPane, _WidgetBase, _TemplatedMixin, declare, domReady) {
     var data = {
        meters: '1'
    },
    layout = new ContentPane(),
    LabelTextbox = declare([_WidgetBase, _TemplatedMixin], {
        label: '',
        textboxId: '',
        name: '',
        value: '',
        
        templateString: '<div><label>${label}</label><div data-dojo-attach-point="textboxNode"></div></div>',
        
        postCreate: function() {
            this.inherited(arguments);
        
            this.own(new NumberSpinner({
                id: this.textboxId,
                name: this.meters,
                value: this.value
            }, this.textboxNode));
        }
    });

    Object.keys(data).forEach(function (prop, index) {
        layout.addChild(new LabelTextbox({
            textboxId: prop + '-'+ index,
            name: prop,
            value: data[prop],
            label: 'meters: '
        }));
    }.bind(this));

    
    layout.placeAt('layout');
    layout.startup();

});
&#13;
&#13;
&#13;