我是Dojo的新手,我试图制作一些ui,但只使用编程方式.
我想如果有人能告诉我如何使用Dojo dijit.form.Form编写一个程序式的示例.我一直在寻找一些例子,但我能找到的只是它的声明方式.
更面向对象的解决方案:
define( [
"dojo/_base/declare",
"dijit/form/Form",
"dijit/form/Textarea",
"dijit/form/Button"
],
function(declare, Form, TextArea, Button) {
return declare( "mypackage.MyForm", Form, {
textarea: new TextArea({}),
submitButton: new Button({
type: "submit",
label: "ready!"
}),
constructor: function(args) {
declare.safeMixin(this, args);
},
onSubmit: function() {
alert(this.textarea.get('value'));
},
postCreate: function() {
this.domNode.appendChild( this.textarea.domNode );
this.domNode.appendChild( this.submitButton.domNode );
}
});
}
);
Run Code Online (Sandbox Code Playgroud)
只需new mypackage.MyForm({})在您可能期望的小部件的任何地方放一个.
它很直接.您只需创建表单的所有部分,然后将所有部分附加到其各自的父级.要创建表单对象,就像任何dijit对象一样,您可以将构造函数传递给param对象,并将domNode传递给它,如下所示:
var resetbtn = new dijit.form.Button({
type: 'reset',
label: 'Reset'
}, dojo.doc.createElement('button'));
Run Code Online (Sandbox Code Playgroud)
完整的例子就在这里.要找出可以添加到params对象的属性,请参阅API文档.可以将任何属性添加到参数列表中.