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