多选解决方案 xm-select

Apache
JavaScript
跨平台
2019-11-26
MapleMei
xm-select 正在参加 2019 年度最受欢迎开源中国软件评选,请投票支持!
xm-select 在 2019 年度最受欢迎开源中国软件评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票赢奖品
已投票

介绍


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

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

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

文档地址

支持功能

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


软件架构


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`即可使用

的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

MySQL子查询三个位置:实例

子查询 SELECT xy,zy,COUNT(xh) AS zs FROM xuesheng GROUP BY xy,zy ORDER BY xy,zy; SELECT (子查询3位置) #子查询只能返回单值 FROM (子查询1位置) #子查询只能表格 WHERE (子查询2位置)...

05/20 22:20
4
0
MySQL存储过程(1)定义

USE test; =============================================== 存储过程的定义 DELIMITER $ CREATE PROCEDURE p1() BEGIN SELECT 'Hello World!' AS 问候; END$ DELIMITER ; 调用存储过程 CA...

05/16 10:44
3
0
rszl数据表和crjsj数据表的关联查询

'查找姓名为 '某某某' 或者 卡号为99999999 或者 编号为 '号号号' 的crjsj资料 和人事资料 ;---------------------------------------------------------------------- SELECT crjsj.id, rsz...

2016/03/17 22:29
3
1
oracle 按照拼音、部首、笔画排序

下面的方法需要ORACLE9i和以上的版本才支持。 Oracle9i之前,中文是按照二进制编码进行排序的。 在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值 SCHINESE_RADICAL_M 按照部...

2014/06/09 10:51
28
0
MySQL 游标

============================= 游标cursor 游标是一个对结果集进行逐行操作的方法,使用游标, 可以像指针一样,指着每一条记录进行操作 游标操作分为四个步骤: 1、定义游标: DECLARE 游标...

05/28 12:15
5
0
spring data jpa没特定对象的sql分页查询 SpringDataJpa的Specification查询

`//B.利用em进行本地sql分页查询 public JsonReader selectSrzc(QueryParams queryParams,String qsrq, String jzrq, String zmlx, String zlx, String zhlx, String ssjq, String zfxm) { S...

2018/04/21 22:56
24
0
Linux 操作MySQL常用命令行

注意:MySQL中每个命令后都要以分号;结尾。   1、显示数据库   mysql> show databases;   +----------+   | Database |   +----------+   | mysql  |   | test   |   +...

2015/07/31 09:19
91
0
mysql:存储过程的流程控制

USE test; 1、要使用临时变量(会话变量),用@修饰 2、要使用局部变量,用declare 修饰 SET @ret = 24/12*2; SELECT @ret; #这是对的 DECLARE ret INT; SET ret=24/12; ==================...

05/25 09:01
3
0
oracle 用一个表的数据去更新另外一个表的数据

去掉 有重复数据的 情况 merge into acl_user p using (select * from testimportuser X where X.ROWID=(select max(Y.ROWID) from testimportuser Y where X.yhdm=Y.yhdm ) ) np on (p.yhdm...

2016/07/06 11:31
3
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部