關於dojo的dialog和form的最佳用法

2021-07-05 22:22:20 字數 3154 閱讀 2554

在使用dojo中dialog元件時,經常會遇到和form表單一同使用的情況,這時候就需要快速的建立表單,提交表單和修改表單項的功能。

關於dojo中元件的寫法分為程式設計的方式和宣告方式,宣告方式快速但是有時候略顯不靈活,程式設計的方式有時候又會很繁瑣。

所以需要將兩種方式結合起來使用

dialog宣告使用程式設計方式,建立表單使用宣告方式:

目錄結構:

mymodule -|

|--- dialog.js

|--- instance.html

|--- volumn.html

建立表單: instance.html (僅僅是乙個html片段,但是裡面包含了dijit/form表單)

data-dojo-type

="dijit/form/form"

data-dojo-id

="instance_form"

>

class

="dijitdialogpanecontentarea"

>

for=

"name"

>

name:

data-dojo-type

="dijit/form/textbox"

name

="name"id=

"instance_label"

>

for=

"type"

>

type:

data-dojo-type

="dijit/form/textbox"

name

="type"id=

"instance_type"

>

properties:

for=

"imageid"

>

imageid:

data-dojo-type

="dijit/form/textbox"

name

="imageid"id=

"instance_imageid"

>

for=

"instancetype"

>

instancetype:

data-dojo-type

="dijit/form/textbox"

name

="instancetype"id=

"instance_instancetype"

>

for=

"keyname"

>

keyname:

data-dojo-type

="dijit/form/textbox"

name

="keyname"id=

"instance_keyname"

>

for=

"userdata"

>

userdata:

data-dojo-type

="dijit/form/textbox"

name

="userdata"id=

"instance_userdata"

>

class

="dijitdialogpaneactionbar"

>

data-dojo-type

="dijit/form/button"

data-dojo-id

="instance_submit"

type

="button"id=

"instance_ok"

>

okdata-dojo-type

="dijit/form/button"

data-dojo-id

="instance_cancel"

type

="button"id=

"instance_cancel"

>

cancel

dialog宣告: 再看看dialog.js(這裡使用了dojox.widget.dialog******,注意dojo/text!的用法)

define

('mymodule/dialog',[

'dojox/widget/dialog******'

,"dojo/text!./instance.html"

,"dojo/text!./volume.html"

,"dojo/text!./volumeattachment.html"

,'dijit/form/textbox'

,'dijit/form/button'

],function

(dialog

,instance

,volume

,volumeattachment);

varinstancedlg

=new

dialog

();instancedlg

.startup

();dialogs

.instance

=instancedlg

;var

volumedlg

=new

dialog

();volumedlg

.startup

();dialogs

.volume

=volumedlg

;var

volumeattachmentdlg

=new

dialog

();volumeattachmentdlg

.startup

();dialogs

.volumeattachment

=volumeattachmentdlg

;return

dialogs

})

實際使用:

require

("mymodule/dialog"

,function

(dialogs

);cancelbutton

.onclick

=function

();dialog

.show

();});

以上就是dialog和form表單結合使用的最佳方式。

關於dojo的build系統

我們都知道,dojo 可以通過 build 來提公升應用系統的載入效率和使用者使用感受,可是到底自己的應用系統應該怎樣 build 卻有點糊塗,後面是我們在開發 riaeasy 時編寫的乙個 build profile 配有詳細的解說,或者對您有用。需要說明的是,dojo1.8 是乙個分水嶺,本配置...

Dojo中declare和define的區別

先看define。作用是定義乙個模組 module 這個模組可以被require引用,引用了之後就可以使用define裡面的東西。乙個模組想當然,裡面幹什麼事情,不一定全部自己實現。就像人要coding,除了腦子,也不能沒有電腦 鍵盤。因此,define的第乙個引數就是將要用到的其他模組引進來。第二...

關於dialog的一些小結

1.自定義dialog繼承dialog,2.或者activity在mainifest中設定 android theme style commondialog android theme.dialog 或者 3.處理一些手機寬高不能與螢幕寬高等同問題 顯示在底部與螢幕寬度一樣 private void...