1. 程式人生 > 其它 >dorado在dialog中使用js通過控制元件id修改控制元件值,值閃爍一下消失問題

dorado在dialog中使用js通過控制元件id修改控制元件值,值閃爍一下消失問題

在使用dorad過程中,在dialog中編寫了複選下拉框,選擇完值後,後臺js獲取選擇的值對前臺的autoFormElement賦值時element中的值閃爍一下消失,百度沒有解決方法,多次嘗試後使用dataSet功能解決,記錄該問題。

dorado前端程式碼:

<AutoForm id="autoformId">
<Property name="dataSet">KcsbszDS</Property>
<Property name="cols">*</Property>
<Property name="labelWidth">100</Property>
<AutoFormElement id="fjext">
<Property name="name">fjext</Property>
<Property name="property">fjext</Property>
<Property name="trigger">fileTypesDropDown</Property>
<Property name="editable">false</Property>
<Editor>
</Editor>
</AutoFormElement>

</AutoForm>
<CustomDropDown id="fileTypesDropDown">
<Container>
<Grid id="fileTypesGrid">
<Property name="selectionMode">multiRows</Property>
<RowSelectorColumn/>
<DataColumn>
<Property name="readOnly">true</Property>
<Property name="caption">常用檔案型別</Property>
<Property name="name">value</Property>
<Property name="property">value</Property>
<Editor/>
</DataColumn>
</Grid>
<Container>
<Button id="fileTypeSubBtn" >
<Property name="caption">確定</Property>
</Button>
</Container>
</Container>
</CustomDropDown>

錯誤的js賦值方法,下面的紅色程式碼,
// @Bind #fileTypesGrid.onCreate
!function(self, arg) {
var datas = [ {
key : 0,
value : "doc"
}, {
key : 1,
value : "docx"
}, {
key : 2,
value : "zip"
}, {
key : 3,
value : "rar"
}, {
key : 4,
value : "pdf"
}];
self.set("items",datas);
}
// @Bind #fileTypeSubBtn.onClick
!function (self,arg) {
var grid = view.get("#fileTypesGrid");
var datas = grid.get("selection");
var labelStr = "";
var s = 1;
datas.each(function(data){
if (++s <= datas.length){
labelStr+=data.value+",";
}else{
labelStr+=data.value;
}
});
view.get("#fileTypesDropDown").close();
// view.set("#fjext.value",labelStr);
view.id("fjext").set("value",labelStr); ----》將該程式碼修改為
    var data = view.get("#KcsbszDS").getData("#");
data.set("fjext", labelStr);
}
修改後問題得到解決,在之前的非dialog中autoformElement是可以正常通過view.get("#xx").set("value","xx");來進行賦值,但是在dialog中我無法實現js賦值,後想到dataSet的作用,修改dataSet中的Data對應的屬性值,實現對頁面的控制。


我會慢慢更新一下Java 的學習知識,在我所寫的內容中有不懂的可以直接私信我。