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