State表示元素的一種狀態(tài),一個State可以綁定一些列的屬性配置。
一個元素可以有多個狀態(tài),而每個狀態(tài)又包含了很多的屬性配置,切換
狀態(tài)就可以達到快速改變一堆的屬性目的,干凈利落。
State有4個屬性
changes:表示該狀態(tài)需要改變什么,也就是State需要綁定的配置。
extend:表示從哪個狀態(tài)擴展,相當于繼承。
name:狀態(tài)的名字,區(qū)別其他狀態(tài)。
when:bool類型,true是表示使用當前狀態(tài),如果有多個狀態(tài)的when都是true,第一個生效。
示例:
例子中通過states屬性為rect添加了兩個狀態(tài),一個是normal,另一個是'pressed'。
兩個狀態(tài)changes都只配置了顏色,在normal狀態(tài)下顏色為藍色,在pressed狀態(tài)下顏色為紅色。
通過when屬性設(shè)置了狀態(tài)的觸發(fā)條件,當鼠標按下時為pressed狀態(tài),反之為normal。
通過以上配置實現(xiàn)的效果為矩形rect默認為藍色的,當鼠標按下時變成紅色,松開鼠標又
變成藍色。運行效果:
---> 文章來源于我的個人博客:fearlazy
---> 編程是一件怎么也學不會的事情,但是如果能享受學習的過程也是挺好的。