Properties
屬性讓子元件與父元件可以互相溝通。
Derive macro
不要嘗試自己實作 Properties
,而是用#[derive(Properties)]
derive 他。
必填的欄位
預設所有在 Properties
struct 裡的欄位都是必填的。當必填的欄位沒有值,而元件在 html!
巨集中又被建立,編譯器就會報錯。如果希望欄位是可選的,可以使用 #[prop_or_default]
來讓該欄位有預設值。如果希望欄位預設特定值,可以使用 #[prop_or_else(value)]
,裡面的 value 就會是這個欄位的預設值。舉例來說,希望預設值是 true
可以在欄位宣告上面這樣寫 #[prop_or_else(true)]
. 通常可選的屬性,會用 Option
,且預設值為None