Select2 4.0.5 API

举报
lxw1844912514 发表于 2022/03/27 02:05:03 2022/03/27
【摘要】 详细属性参考官方API,https://github.com/select2/select2/releases/tag/4.0.5注:4.0.5版本API与3.x版本有差异,有些属性已废弃,以下列出常用属性及其参考值: 1、API 属性类型默认值描述dataArray of objectsNull数据集合,基础...

详细属性参考官方API,https://github.com/select2/select2/releases/tag/4.0.5
注:4.0.5版本API与3.x版本有差异,有些属性已废弃,以下列出常用属性及其参考值:

1、API

属性 类型 默认值 描述
data Array of objects Null 数据集合,基础数据格式{id:"", text:"", selected: true/选中/, disabled: true/失效/}
width string “” 宽度
style string “” 样式
ajax object null Ajax请求数据
minimumResultsForSearch Integer null 设置支持搜索的最小集合,设置为负数,隐藏搜索框
minimumInputLength Integer   输入指定长度字符后开始搜索
multiple boolean False 是否多选,默认单选
maximumSelectionSize Integer   支持最大的选择数量,int/function
maximumInputLength Integer   支持搜索的最大字符数
placeholder String “” 选择提示
allowClear Boolean false 是否显示清除按钮,只有设置了placeholder才有效
closeOnSelect Boolean true 是否选中后关闭选择框,默认true
templateSelection callback   选中项样式
templateResult callback   选项样式
matcher callback   过滤选项集合
sorter callback   选项结果集排序
theme String   主题,可以设置bootstrap主题
tags Boolean   是否可动态创建选项
tokenSeparators Aray   输入时使用分隔符创建新选项
createTag callback   创建新标签
insertTag callback   在选项集合后插入标签
disabled boolean false 是否失效
debug boolean false 是否开启debug

注:initSelection 和query已废弃

2、定义组件Select2


     
  1. /**
  2. * 创建select2基础组件
  3. */
  4. select2: function(selector, option, allDefault){
  5. if(allDefault){
  6. $(selector).select2(option);
  7. }else{
  8. $(selector).select2($.extend(true, {}, defaultOption, option));
  9. }
  10. }

3、测试用例

html(省略)

js


     
  1. require(["jquery", "js/component/Select2"], function($, Select2){
  2. $(document).ready(function(){
  3. var data = [{id:"1", text:"测试1"}, {id:"2", text:"测试2"}];
  4. var format = function(data){
  5. return $("" + data.text+ "111" + "");
  6. }
  7. // 基本搜索
  8. Select2.select2("#select", {data: data});
  9. // 无搜索框
  10. Select2.select2("#noSearchSelect", {data: data, minimumResultsForSearch: -1});
  11. // 多选
  12. Select2.select2("#multiSelect", {data: data, multiple: true});
  13. // 最多输入的字符数
  14. Select2.select2("#maxInput", {data: data, maximumInputLength: 2});
  15. // 显示清除按钮
  16. Select2.select2("#allowClear", {data: data, placeholder: "123", allowClear: true});
  17. // 格式化选项
  18. Select2.select2("#formatSection", {data: data, templateSelection: format,
  19. templateResult: format});
  20. // ajax请求数据
  21. Select2.select2("#ajaxSelect", {width:"50%", ajax: {
  22. url: 'https://api.github.com/orgs/select2/repos',
  23. data: function (params) {
  24. var query = {
  25. search: params.term,
  26. type: 'public'
  27. }
  28. return query;
  29. }
  30. }}, true);
  31. // ajax分页,官方例子,没有出现分页情况,后续用到时具体测试(2018.8.31)
  32. Select2.select2("#ajaxPagination", {
  33. width: "50%",
  34. ajax: {
  35. url: "https://api.github.com/search/repositories",
  36. dataType: 'json',
  37. delay: 250,
  38. data: function (params) {
  39. return {
  40. q: params.term, // search term
  41. page: params.page
  42. };
  43. },
  44. processResults: function (data, params) {
  45. // parse the results into the format expected by Select2
  46. // since we are using custom formatting functions we do not need to
  47. // alter the remote JSON data, except to indicate that infinite
  48. // scrolling can be used
  49. params.page = params.page || 1;
  50. return {
  51. results: data.items,
  52. pagination: {
  53. more: (params.page * 30) < data.total_count
  54. }
  55. };
  56. },
  57. cache: true
  58. },
  59. placeholder: 'Search for a repository',
  60. escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
  61. minimumInputLength: 1
  62. }, true);
  63. // 动态创建新选项
  64. Select2.select2("#dynamicOption", {width:"50%", data:data, tags:true}, true);
  65. });
  66. });


链接:https://www.jianshu.com/p/778e9f21fc3d

文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/lxw1844912514/article/details/100029083

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。