[英]How to make flutter custom drop down button?
我想自定義DropDownButton
,這樣它就不會呈現DropdownItem
的內容。 相反,它應該在從 DropDown 中選擇一個項目之前和之后呈現我的自定義布局/小部件。 簡單來說,我想自定義我的DropDownButton
。
謝謝,
下拉時如何以不同方式呈現DropdownButton
項目?
我通過DropdownMenuItem
找到了解決方案。 它的build()
是針對關閉和下拉狀態分別執行的。 您可以使用上下文來確定它是關閉狀態還是下拉狀態。 例如,您可以檢查祖先有狀態小部件。
我使用類似這個虛擬代碼片段的東西:
DropdownButton<String>(
value: selectedItem.id,
items: items.map((item) {
return DropdownMenuItem<String>(
value: item.id,
child: Builder(builder: (BuildContext context) {
final bool isDropDown = context.ancestorStateOfType(TypeMatcher<PageState>()) == null;
if (isDropDown) {
return Text(item.name);
} else {
return Text(item.name, style: TextStyle(color: Colors.red));
}
},)
);
}).toList(),
);
其中items是一個id-name實例列表,而PageState是我自己的有狀態小部件的狀態。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.