pickout.js是一款效果非常炫酷的纯JavaScript下拉列表框美化插件。该下拉列表框插件大小仅5kb,在用户点击了列表框时,会弹出类似模态窗口的下拉列表,还可以对列表中的选项进行搜索过滤。
可以通过npm或bower来安装该下拉列表框插件。
npm install pickout --save
bower install pickout --save
使用该下拉列表框插件需要在页面中引入pickout.min.css和pickout.min.js文件。
<link rel="stylesheet" href="./path/to/pickout.min.css">
<script src="./path/to/pickout.min.js"></script>
该下拉列表框的HTML结构使用一个带.form-group的<div>作为容器,里面放置标签<label>和<select>元素。
<!-- 普通的下拉列表框 -->
<div class="form-group">
<label for="city">City:</label>
<select name="city" id="city" class="city all" placeholder="Select to option">
<option value="opt1">Option 1</option>
<option value="opt2">Option 2</option>
<option value="opt3">Option 3</option>
<option value="opt4">Option 4</option>
</select>
</div>
<!-- 带图标的下拉列表框 -->
<div class="form-group">
<label for="state">State:</label>
<select name="state" id="state" class="state all" placeholder="Select to option">
<option value="opt1" data-icon="" >Option 1</option>
<option value="opt2" data-icon="">Option 2</option>
<option value="opt3" data-icon="">Option 3</option>
<option value="opt4" data-icon="">Option 4</option>
</select>
</div>
可以使用.to()方法来初始化该下拉列表框插件。
pickout.to('.city');
/* 或者 */
pickout.to({
el: '.city'
});
如果是类选择器需要加上“.”号,如果是ID选择器需要加上“#”号。
如果需要开启选项搜索过滤功能,可以将配置参数search设置为true。
pickout.to({
el: '.state',
search: true
});
你可以为所有的下拉列表框配置一个相同的class类,然后一次性初始化所有的下拉列表。
pickout.to('.all');
自定义样式
如果你需要自定义下拉列表的样式,可以在下面的类选择器中编写你的代码:
.pk-input.-MySelector{
// my customization
}
.pk-arrow.-MySelector{
// my customization
}
然后在插件初始化时作为主题的参数传入:
pickout.to({
el: '.city',
theme: 'MySelector'
});
可用主题
有2个可用的主题:
clean(默认主题)
dark
pickout.to({
el: '.state',
theme: 'dark'
});
设置默认值
<div class="form-group">
<label for="state">State:</label>
<select name="state" id="state" class="state all" placeholder="Select to option">
<!-- Option selected by default -->
<option value="opt1" selected>Option 1</option>
<option value="opt2">Option 2</option>
</select>
</div>
可以通过updated()方法来更新默认值。
pickout.updated('.city');