賬目分類設(shè)置頁實(shí)現(xiàn)新增、修改、刪除賬目分類的功能。編輯時下拉選擇賬目類型、輸入分類名稱。用一個W文件實(shí)現(xiàn)。
1、新建頁面文件classSetting.w
在“新建W向?qū)А敝羞x擇模板“移動→標(biāo)準(zhǔn)→標(biāo)準(zhǔn)頁面”,文件名輸入classSetting。在頁面中將放入數(shù)據(jù)組件和展現(xiàn)組件,如圖1-32所示。
圖1-32 賬目分類設(shè)置頁面構(gòu)成
2、增加賬目類型、賬目分類數(shù)據(jù)
賬目類型是下拉選擇的數(shù)據(jù),所以需要提供賬目類型數(shù)據(jù),用于下拉選擇。賬目類型分為收入和支出,是靜態(tài)數(shù)據(jù),因此使用data組件;賬目分類則需要使用數(shù)據(jù)組件baasData,通過調(diào)用后端服務(wù),獲取賬目分類表中的數(shù)據(jù)。表1-12列出了數(shù)據(jù)組件屬性的設(shè)置方法。
表1-12 分類設(shè)置頁數(shù)據(jù)組件屬性說明
組件 | 父組件 | 屬性 | 屬性值 | 說明 |
baasData | model | xid | classData | 賬目分類數(shù)據(jù),從detail.w中復(fù)制 |
autoLoad | true | 自動加載數(shù)據(jù) | ||
autoNew | false | 不自動新增數(shù)據(jù) | ||
limit | -1 | 獲取全部賬目分類數(shù)據(jù) | ||
directDelete | true | 直接刪除數(shù)據(jù)表中的記錄 | ||
data | model | xid | typeData | 賬目類型數(shù)據(jù),從list.w中復(fù)制 |
3、制作賬目分類列表
在賬目分類設(shè)置頁面中,一條條賬目分類數(shù)據(jù)以列表的形式展現(xiàn)出來。使用列表組件list實(shí)現(xiàn)列表展現(xiàn)。在list組件中,使用下拉組件select進(jìn)行賬目類型的下拉選擇,使用input組件實(shí)現(xiàn)賬目分類名稱的輸入。界面設(shè)計(jì)如圖1-33.所示
圖1-33 賬目分類設(shè)置頁設(shè)計(jì)界面
表1-13列出了展現(xiàn)組件屬性的設(shè)置方法。
表1-13 分類設(shè)置頁展現(xiàn)組件屬性說明
組件 | 父組件 | 屬性事件 | 值 | 說明 |
list | content1 | xid | list1 | 賬目分類列表 |
data | classData | 關(guān)聯(lián)賬目分類數(shù)據(jù) | ||
row | list下的li | xid | row1 | 行組件,分為三列 |
col | row1 | xid | col1 | 用來放賬目類型下拉組件 |
col | row1 | xid | col2 | 用來放賬目分類名稱輸入框 |
col | row1 | xid | col3 | 用來放刪除按鈕 |
class | x-col x-col-fixed | 設(shè)置固定列寬 | ||
width | 50px; | 設(shè)置 | ||
select | col1 | xid | select1 | 賬目類型下拉組件 |
bind-ref | ref('fType') | 綁定類型列 | ||
bind-options | $model.typeData | 下拉數(shù)據(jù)關(guān)聯(lián)賬目類型數(shù)據(jù) | ||
bind-optionsValue | fType | 選擇后取fType列的值,寫入classData | ||
input | col2 | xid | input1 | 賬目分類名稱輸入框 |
bind-ref | ref('fClass') | 綁定賬目分類列 | ||
button | col3 | xid | deleteBtn | 刪除賬目分類按鈕 |
icon | icon-android-close | 設(shè)置按鈕圖標(biāo) | ||
class | btn btn-link btn-only-icon | 設(shè)置按鈕樣式 | ||
onClick | deleteBtnClick | 刪除list當(dāng)前行賬目分類 | ||
button | titleBar1的right部分 | xid | newBtn | 新增賬目分類按鈕 |
icon | icon-android-add | 設(shè)置按鈕圖標(biāo) | ||
class | btn btn-link btn-only-icon | 設(shè)置按鈕樣式 | ||
onClick | newBtnClick | 新增賬目分類 | ||
button | titleBar1的right部分 | xid | saveBtn | 保存按鈕 |
icon | icon-android-checkmark | 設(shè)置按鈕圖標(biāo) | ||
class | btn btn-link btn-only-icon | 設(shè)置按鈕樣式 | ||
onClick | {operation:'classData.save'} | 調(diào)用classData的保存操作,保存數(shù)據(jù)至數(shù)據(jù)庫 |
新增刪除賬目分類數(shù)據(jù)classSetting.js中的代碼
Model.prototype.newBtnClick = function(event) { // 新增分類數(shù)據(jù)并給出默認(rèn)值
this.comp("classData").newData({
"defaultValues" :[ {
"fID" :justep.UUID.createUUID(),
"fType" :"支出"
} ]
});
};
Model.prototype.deleteBtnClick = function(event) { // 刪除list當(dāng)前行數(shù)據(jù)
var row = event.bindingContext.$object;
this.comp("classData").deleteData(row);
};
更多建議: