本文概述
该组件提供了一个下拉列表框, 用于从多个选项中选择一个值。它类似于JSF UISelectOne组件。
我们可以在自动完成模式下使用它, 该下拉列表中的值是使用autocompleteMethod或autocompleteList属性动态提供的。
样式类和皮肤参数
下表包含用于select的样式类和相应的外观参数。
Class | Function | 皮肤参数 | 映射的CSS属性 |
---|---|---|---|
.rf-sel | 它用于定义选择控件本身的样式。 | 没有皮肤参数。 | |
.rf-sel-cntr | 用于定义选择控件的容器的样式。 | panelBorderColor | border-color |
.rf-sel-inp | 它用于定义选择控件输入字段的样式。 | controlBackgroundColor | background-color |
.rf-sel-fld-err | 发生错误时, 用于定义输入字段的样式。 | 没有皮肤参数。 | |
.rf-sel-opt | 它用于定义选择控件中选项的样式。 | generalTextColor generalSizeFont | 颜色字体大小 |
.rf-sel-sel | 用于定义选择控件的所选选项的样式。 | generalTextColor | border-color |
.rf-sel-dflt-lbl | 用于定义选择控件的默认标签的样式。 | 没有皮肤参数。 | |
.rf-sel-btn | 用于定义选择控件的按钮的样式。 | headerBackgroundColor | background-color |
.rf-sel-btn-arrow | 它用于定义按钮上箭头的样式。 | 没有皮肤参数。 | |
.rf-sel-btn-dis | 用于禁用选择控件的按钮时定义样式。 | 没有皮肤参数。 | |
.rf-sel-lst-scrl | 它用于定义列表滚动条的样式。 | 没有皮肤参数。 | |
.rf-sel-shdw | 它用于定义选择控件阴影的样式。 | 没有皮肤参数。 | |
.rf-sel-shdw-t, .rf-sel-shdw-b, .rf-sel-shdw-l, .rf-sel-shdw-r | 这些类定义了选择控件阴影的顶部, 底部, 左侧和右侧。 | 没有皮肤参数。 |
例子
在下面的示例中, 我们正在实现<rich:select>组件。本示例包含以下文件。
JSF文件
// rich-select.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<f:view>
<h:head>
<title>Rich Select Example</title>
</h:head>
<h:body>
<h:form>
<h:outputText value="Rich Select Example"/><br/><br/>
<rich:select>
<f:selectItems value="#{country.countryList()}" />
</rich:select>
</h:form>
</h:body>
</f:view>
</ui:composition>
托管豆
// Country.java
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class Country {
String CountryName;
public List<String> countryList() {
ArrayList<String> list = new ArrayList<>();
list.add("India");
list.add("Australia");
list.add("Germany");
list.add("Italy");
list.add("United States");
list.add("Russia");
return list;
}
public String getCountryName() {
return CountryName;
}
public void setCountryName(String CountryName) {
this.CountryName = CountryName;
}
}
输出
评论前必须登录!
注册