其實我們目前已經可以輕易的就做出以下的 component:
純文字就真的單純,後端跟 Text 一樣,不需要有甚麼特殊處理,前端也只要給 Element 指定適當 (Bulma) 的樣式即可。
type titleComp struct {
Type string `json:"type"`
ID string `json:"id"`
Text string `json:"text"`
}
func newTitleComponent(text string) *titleComp {
return &titleComp{
Type: "title",
ID: text,
Text: text,
}
}
func Title(c *tgframe.Container, text string) {
c.Comps = append(c.Comps, newTitleComponent(text))
}
function createTitle(comp) {
const newTitle = document.createElement('h1')
newTitle.innerText = comp.text
newTitle.className = 'title'
return newTitle
}
Download File Button 其實也不難做,只要後端給好提供檔案的 binary base64 ,在前端指定好
data:application/octet-stream;base64,{base64_body}
{filename}
Datepicker, Timepicker 這類型則是指需要指定 input attribute 就可以使用的東西。
目前 Component 的基礎機制和功能暫時告一段落,接下來,我們會做一些更整體性的變動: