UILinkageSelector

来自于:AC模块工作室立即使用

open confirm hide show close

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。

概述

UILinkageSelector是一个三级联动选择器。开发者可自定义其位置大小,及其数据源。适用于各种需要选择器的app。

注意:该模块无遮罩层

open

打开选择器

open({params})

params

rect:

  • 类型:JSON 类型
  • 描述:(可选项)模块的位置及尺寸)
  • 内部字段:
  1. {
  2. x: 30, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:30
  3. y: 100, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
  4. w: api.frameWidth - 60, //(可选项)数字类型;模块宽度(相对于所属的 Window 或 Frame);默认api.frameWidth - 60
  5. h: 245 //(可选项)数字类型;模块高度(相对于所属的 Window 或 Frame);默认245
  6. }

resource:

  • 类型:字符串
  • 描述:城市列表的数据源文件路径(支持widget、fs 路径协议),数据源文件必须为.json文件。城市的JSON数据会在callback时按原格式返回。若为 json 文件则必须是标准的 json格式,否则会报错。
  • .json文件内部字段:
  1. {
  2. "list":{
  3. "first": [
  4. {
  5. "name": "山东省",
  6. "id": "1",
  7. "second": [{
  8. "name": "济南市",
  9. "id": "1",
  10. "third": [
  11. {
  12. "name": "历下区",
  13. "id": "1"
  14. },
  15. {
  16. "name": "章丘市",
  17. "id": "10"
  18. },
  19. {
  20. "name": "高新区",
  21. "id": "145"
  22. },
  23. {
  24. "name": "市中区",
  25. "id": "2"
  26. },
  27. {
  28. "name": "槐荫区",
  29. "id": "3"
  30. },
  31. {
  32. "name": "天桥区",
  33. "id": "4"
  34. },
  35. {
  36. "name": "历城区",
  37. "id": "5"
  38. },
  39. {
  40. "name": "长清区",
  41. "id": "6"
  42. },
  43. {
  44. "name": "平阴县",
  45. "id": "7"
  46. },
  47. {
  48. "name": "济阳县",
  49. "id": "8"
  50. },
  51. {
  52. "name": "商河县",
  53. "id": "9"
  54. }
  55. ]
  56. }]
  57. },
  58. {
  59. "name":"黑龙江省",
  60. "id":"11",
  61. "second": [{
  62. "name": "哈尔滨市",
  63. "id": "145",
  64. "third": [
  65. {
  66. "name": "道里区",
  67. "id": "464"
  68. },
  69. {
  70. "name": "道外区",
  71. "id": "465"
  72. },
  73. {
  74. "name": "南岗区",
  75. "id": "466"
  76. },
  77. {
  78. "name": "平房区",
  79. "id": "467"
  80. },
  81. {
  82. "name": "香坊区",
  83. "id": "468"
  84. },
  85. {
  86. "name": "松北区",
  87. "id": "469"
  88. },
  89. {
  90. "name": "动力区",
  91. "id": "470"
  92. },
  93. {
  94. "name": "开发区",
  95. "id": "471"
  96. },
  97. {
  98. "name": "依兰县",
  99. "id": "472"
  100. },
  101. {
  102. "name": "呼兰区",
  103. "id": "473"
  104. },
  105. {
  106. "name": "方正县",
  107. "id": "474"
  108. },
  109. {
  110. "name": "宾县",
  111. "id": "475"
  112. },
  113. {
  114. "name": "延寿县",
  115. "id": "476"
  116. },
  117. {
  118. "name": "巴彦县",
  119. "id": "477"
  120. },
  121. {
  122. "name": "阿城区",
  123. "id": "478"
  124. },
  125. {
  126. "name": "木兰县",
  127. "id": "479"
  128. },
  129. {
  130. "name": "双城市",
  131. "id": "480"
  132. },
  133. {
  134. "name": "通河县",
  135. "id": "481"
  136. },
  137. {
  138. "name": "尚志市",
  139. "id": "482"
  140. },
  141. {
  142. "name": "五常市",
  143. "id": "483"
  144. }
  145. ]}
  146. ]}
  147. ]}
  148. }

styles:

  • 类型:JSON 类型
  • 描述:(可选项)模块各部分的样式
  • 内部字段:
  1. {
  2. bg:'#fff', //(可选项)模块背景颜色;支持 rgb,rgba,#;默认:#fff
  3. fontColor: '#000000', //(可选项)字符串类型;未选中字体颜色;支持 rgb,rgba,#;默认:'#000000'
  4. selectedColor:'#8B0000', //(可选项)字符串类型;选中字体颜色;支持 rgb,rgba,#;默认:'#8B0000'
  5. }

indexs:

  • 类型:数组
  • 描述:打开模块时默认选项下标组成的数组,如:[0,0,0]
  • 默认:各级选项的首项的索引组成的数组

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔
  • 描述:(可选项)是否将模块视图固定到窗口上(不跟随窗口上下滚动)
  • 默认:true

示例代码

  1. var UILinkageSelector = api.require('UILinkageSelector');
  2. UILinkageSelector.open({
  3. rect:{
  4. x: 30,
  5. y: 100,
  6. w: api.frameWidth - 60,
  7. h: 245
  8. },
  9. styles:{
  10. bg:'#fff',
  11. fontColor: '#000000',
  12. selectedColor:'#8B0000',
  13. },
  14. resource:widget://res/city.json,
  15. indexs:[0,0,0],
  16. fixedOn: api.frameName,
  17. fixed:true,
  18. }, function(ret, err) {
  19. if (ret) {
  20. alert(JSON.stringify(ret));
  21. } else {
  22. alert(JSON.stringify(err));
  23. }
  24. });

可用性

iOS系统,安卓系统

可提供的1.0.0及更高版本

confirm

确定事件

confirm({callback})

callback(ret)

ret:

  • 类型:JSON 对象

  • 内部字段:

  1. {
  2. province:{ //选中的第一级(省)
  3. name:'',
  4. id:''
  5. },
  6. city:{ //选中的第二级(市)
  7. name:'',
  8. id:''
  9. },
  10. county:{ //选中的第三级(县)
  11. name:'',
  12. id:''
  13. }
  14. }

示例代码

  1. var UILinkageSelector = api.require('UILinkageSelector');
  2. UILinkageSelector.confirm(function(ret, err) {
  3. if (ret) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(JSON.stringify(err));
  7. }
  8. });

可用性

iOS系统,安卓系统

可提供的1.0.0及更高版本

hide

隐藏选择器

hide()

示例代码

  1. var UILinkageSelector = api.require('UILinkageSelector');
  2. UILinkageSelector.hide();

可用性

iOS系统,安卓系统

可提供的1.0.0及更高版本

show

显示选择器

show()

示例代码

  1. var UILinkageSelector = api.require('UILinkageSelector');
  2. UILinkageSelector.show();

可用性

iOS系统,安卓系统

可提供的1.0.0及更高版本

close

关闭选择器

close()

示例代码

  1. var UILinkageSelector = api.require('UILinkageSelector');
  2. UILinkageSelector.close();

可用性

iOS系统,安卓系统

可提供的1.0.0及更高版本