Go to file
2021-06-30 14:00:28 +08:00
.gitee v1.1.0.Beta 2019-11-23 20:10:47 +08:00
build 新增fixed布局 2021-01-19 16:28:25 +08:00
dist 修正版本号 2021-06-30 14:00:28 +08:00
docs u 2021-05-28 18:30:08 +08:00
src v1.2.3 2021-06-30 13:56:07 +08:00
.babelrc v1.1.0.Beta 2019-11-23 20:10:47 +08:00
.editorconfig v1.1.0.Beta 2019-11-23 20:10:47 +08:00
.gitignore 修复tree模式的节点显示异常 2020-11-27 19:19:22 +08:00
CHANGELOG.md v1.2.3 2021-06-30 13:56:07 +08:00
LICENSE v1.1.0.Beta 2019-11-23 20:10:47 +08:00
package.json 修正版本号 2021-06-30 14:00:28 +08:00
README.md u 2021-05-28 18:30:08 +08:00

xm-select

介绍

始于Layui, 下拉选择框的多选解决方案

前身前往formSelectes, 由于渲染速度慢, 代码冗余, 被放弃了

xm-select使用了新的开发方式, 利用preact进行渲染, 大幅度提高渲染速度, 并且可以灵活拓展

xm-select演示站点

支持功能

  • 国际化 - 中文/英文
  • 多选
  • 单选
  • 重复选
  • 分组
  • 工具条
  • 创建条目
  • 显示模式
  • 搜索模式 (本地数据过滤, 远程搜索)
  • 分页模式
  • 下拉树
  • 下拉任意 - 可以自己写html

联系方式

  • xm-select技术群①: 660408068 (500人)
  • xm-select技术群②: 938624691 (500人)
  • xm-select技术群③: 1145047250 (500人)

issues 需求记录

更新日志

软件架构

  1. 引入第三方preact库, 利用jsx渲染页面结构
  2. 使用webpack进行打包

快读上手

直接使用

1. 引入 `dist/xm-select.js`
2. 写一个`<div id="demo1"></div>`
3. 渲染
	var demo1 = xmSelect.render({
		el: '#demo1', 
		data: [
			{name: '水果', value: 1, selected: true, disabled: true},
			{name: '蔬菜', value: 2, selected: true},
			{name: '桌子', value: 3, disabled: true},
			{name: '北京', value: 4},
		],
   })

二次开发

1. git clone https://gitee.com/maplemei/xm-select.git
2. cd xm-select
3. yarn 或者 npm install

目录结构说明

打赏

如果喜欢作者的插件, 可以请作者吃雪糕 ^_^

打赏

示例

示例页面

一个小栗子

<!-- 占位 -->
<div id="demo1"></div>


<!-- 引入插件 -->
<script src="../dist/xm-select.js" type="text/javascript" charset="utf-8"></script>
<!-- 渲染页面 -->
<script type="text/javascript">
	var demo1 = xmSelect.render({
		// 这里绑定css选择器
		el: '#demo1', 
		// 渲染的数据
		data: [
			{name: '水果', value: 1, selected: true, disabled: true},
			{name: '蔬菜', value: 2, selected: true},
			{name: '桌子', value: 3, disabled: true},
			{name: '北京', value: 4},
		],
	})
	
	// 变量, demo1 可以通过API操作
	// 获取选中值, demo1.getValue();
	// 设置选中值, demo1.setValue([{ name: '动态值', value: 999 }])
	// ...
</script>

相关

支持IE吗

简单适配IE10以上的版本, 如有其它兼容性问题, 请加群反馈

为什么没有css文件

已经内置到js代码中了, 直接引入xm-select.js即可使用

开源 != 无私

有问题请自己多动手尝试^_^

成长之路

maplemei, 一个90后, 热爱前端的程序猿

16年接触了 贤心大大 的 layui, 开始走向了前端的不归之路
17年尝试自己写了一个基于layui的省市区联动插件, 同年底开发了layui select多选第一版
18年6月发布了formSelects
19年6月发布了xm-select

其实每个版本的更新都是自己对前端的一个新的认知, 也是一个新的学习之路

目前作者几乎不怎么使用layui, 已经走向了vue, react的新途 , xm-select的维护是对layui的一种情怀 ^_^