📅  最后修改于: 2023-12-03 15:05:10.047000             🧑  作者: Mango
Semantic-UI 是一个流行的前端框架,提供了许多现代化的UI组件,包括下拉菜单(DropDown)。下拉菜单组件使用户可以从一组选项中选择一个选项。在 Semantic-UI 中,下拉菜单是由一个下拉菜单元素和一个菜单元素组成的。
下拉菜单的内容可以是普通文本,也可以是超链接、标签、图标、图片、按钮等任何HTML元素。下拉菜单可以是单选、多选或搜索框形式。
此外,Semantic-UI 还提供了丰富的定制和配置选项,因此可以轻松地根据需求对下拉菜单进行样式和行为上的定制。
使用 Semantic-UI 下拉菜单组件的基本方法非常简单。以下代码演示了如何创建一个普通的单选下拉菜单:
<div class="ui selection dropdown">
<input type="hidden" name="gender">
<i class="dropdown icon"></i>
<div class="default text">Gender</div>
<div class="menu">
<div class="item" data-value="male">Male</div>
<div class="item" data-value="female">Female</div>
</div>
</div>
解释:
div
元素被赋予ui
和selection
两个类别。input
元素是隐藏的,用于保存选择的值。name
属性定义用于提交的表单项的名称。i
元素包含了相应文本和图标。div
元素是实际的菜单项,每个菜单项都包含了 item
类别 和一个属性data-value
,用于保存与该选项关联的值。如果你的项目中,Semantic-UI已经被引入,只需加上相应的样式和JavaScript(如:jquery.min.js 和 semantic.min.js)即可。
Semantic-UI 下拉菜单提供了很多可选的配置选项,使用户可以根据自己的需求进行定制。以下是一些常用的配置选项:
以下是如何配置使用上述选项的示例:
$('.ui.dropdown').dropdown({
allowAdditions: true,
allowCategorySelection: false,
allowReselection: true,
fullTextSearch: true,
placeholder: 'Select Country',
onChange: function(value, text, selectedItem) {
console.log(value);
}
});
如果需要允许用户选择多个选项,可以使用 multiple
类别:
<div class="ui multiple selection dropdown">
<input type="hidden" name="skills">
<i class="dropdown icon"></i>
<span class="default text">Skills</span>
<div class="menu">
<div class="item" data-value="html">HTML</div>
<div class="item" data-value="css">CSS</div>
<div class="item" data-value="javascript">JavaScript</div>
<div class="item" data-value="jquery">jQuery</div>
<div class="item" data-value="react">React</div>
<div class="item" data-value="node">Node.js</div>
<div class="item" data-value="mysql">MySQL</div>
<div class="item" data-value="mongodb">MongoDB</div>
</div>
</div>
与单选下拉菜单相比,上面的代码只是添加了一个 multiple
类别。在提交表单时,将选择的值作为数组传递。
如果列表项很长,用户可以使用搜索框来快速查找所需的选项。以下是如何配置 Semantic-UI 搜索下拉菜单的示例:
<div class="ui search selection dropdown">
<input type="hidden" name="country">
<i class="dropdown icon"></i>
<span class="default text">Select Country</span>
<div class="menu">
<div class="item" data-value="af"><i class="af flag"></i>Afghanistan</div>
<div class="item" data-value="ax"><i class="ax flag"></i>Åland Islands</div>
<div class="item" data-value="al"><i class="al flag"></i>Albania</div>
<div class="item" data-value="dz"><i class="dz flag"></i>Algeria</div>
... // 省略一部分代码
</div>
</div>
这里只是添加了一个 search
类别。
以下是如何创建一个没有按钮和标记的下拉菜单:
<div class="ui icon fluid floating dropdown button">
<i class="dropdown icon"></i>
<span class="text">Menu</span>
<div class="menu">
<div class="item">
<i class="home icon"></i>
Home
</div>
<div class="item">
<i class="book icon"></i>
Library
</div>
<div class="item">
<i class="computer icon"></i>
Applications
</div>
<div class="divider"></div>
<div class="item">
<i class="sign out icon"></i>
Logout
</div>
</div>
</div>
这里添加了一个 icon
类别,用于去除按钮边框。并使用 fluid
类别填充了整个容器,以实现全宽。
以上是Semantic-UI 表单下拉内容的介绍。在实际开发中,根据需求不同,您可以采用不同的配置选项和样式,以创建满足需求的下拉菜单。必要时可以参考 Semantic-UI 的文档,以便更好地理解和使用此组件。