移動頁面的hooks在一個欄位改動時,要怎麼對另一個欄位賦值呢?
可在onchange處理,分成
1.賦值給普通欄位
普通欄位很單純,只要取得你要連動的Component, 用component.data.text即可
2.賦值給開窗欄位
開窗欄位比較複雜, 不是單純的一個欄位,
首先,開窗欄位不能亂賦值,必須要是真實開窗時,能選到的真實資料
再來,他是一個{}, 包含了若干屬性
在教學中,變更開窗值的範例為
其中包含了id,title,detail三個必要屬性,那是什麼意思呢?
id : 這個開窗中設定為主鍵的開窗屬性, 為何要這個?為的是開窗後,能把值帶回開窗
title : 要呈現在畫面中的值
detail : 該開窗選擇資料後, 依回填欄位設定的結果
呈上面的解說,用實際案例說明----
我要用hooks來賦值的欄位,開窗結果是
我先在該開窗設一個onLoadWindowData hooks
寫下下段程式碼
curComponent.getComponentData("optionList", function (optionList) {
toast.showToast(JSON.stringify(optionList))
})
這樣在運行時可以印出那個開窗的optionList
這樣就知道那三個必要屬性要怎麼填了,我填的是
最後,提醒一下, 賦值後ˋ都需要做component.update()才會刷新欄位(上面圖中可看到)
|