代码之家  ›  专栏  ›  技术社区  ›  Brian Deterling

是否有一种简单的方法可以将“选择”选项添加到Tapestry-PropertyModel下拉列表中

  •  2
  • Brian Deterling  · 技术社区  · 16 年前

    我有一个用于性别的Tapestry属性模型。现在下拉列表只显示男性和女性,因为这是我模型中唯一的值。我想添加一个“选择一个选项”选项。有没有一种标准的方法可以做到这一点,而不必在我的模型中添加虚假值?我还希望它足够聪明,知道如果该字段是必需的,他们不能将其设置为“选择选项”。

    2 回复  |  直到 16 年前
        1
  •  2
  •   Chochos    16 年前

    在Tapestry 5上,您只需设置blankLabel属性。

    在Tapestry 4上,只需将该功能添加到您的PropertyModel中或将其包装在Brian已经提到的LabeledPropertySelectionModel上就更容易了(您可以在JavaDoc中查找您的Tapestry版本的该类)。

    在Tapestry 3上,您必须将该功能添加到模型中,因为LabeledPropertySelectionModel是在版本4中引入的。

        2
  •  1
  •   Brian Deterling    16 年前

    一种解决方案是使用LabeledPropertySelectionModel来包装真实模型,如下所示:

    new LabeledPropertySelectionModel(new GenderModel(), "Choose an Option")
    

    该类的JavaDoc表示:

    装饰一个添加了初始属性的底层nvarchar SelectionModel。标签选项和初始属性的值是可配置的。