簡體   English   中英

如何制作顫振自定義下拉按鈕?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM