You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

218 lines
8.8 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. ### mdp-select-table 效果图
  2. - 该组件与mdp-select效果一致,同样支持origin/tag/x三种风格,不同之处在于具有分页功能,适合超大表格数据的选择,如下图1所示,默认只会展示用过的数据,如果需要更多数据,需要点击【更多数据】按钮,将会弹出图2所示,当用户选中数据后,数据将填充到图1的下拉列表中,并且能够模拟select的选中事件
  3. ![mdp-select-table-select](/docs/images/ui-components/mdp-select-table-select.png)
  4. ![mdp-select-table](/docs/images/ui-components/big-table-select.jpg)
  5. ### 用法
  6. #### 最简单的用法,通过props定义编号及名称
  7. ```html
  8. <mdp-select-table :load-fun="loadFun" :props="propsCfgs">
  9. </mdp-select-table>
  10. ```
  11. ```js
  12. <script>
  13. export default {
  14. data() {
  15. return {
  16. //从后台加载数据的api
  17. loadFun:this.$mdp.listBranch,
  18. propsCfgs:{
  19. id:'branchId',//取api返回值中的branchId属性的值当成编号
  20. name:'branchName',//取api返回值中的branchName属性的值当成名称
  21. }
  22. }
  23. }
  24. }
  25. </script>
  26. ```
  27. #### 通过props定义编号及名称,通过params传递后台查询参赛
  28. ```html
  29. <mdp-select-table ref="selectTableRef" :load-fun="loadFun" :props="propsCfgs" :params="{relType:'1'}">
  30. </mdp-select-table>
  31. ```
  32. ```js
  33. <script>
  34. export default {
  35. data() {
  36. return {
  37. //从后台加载数据的api
  38. loadFun:this.$mdp.listBranch,
  39. propsCfgs:{
  40. id:'branchId',//取api返回值中的branchId属性的值当成编号
  41. name:'branchName',//取api返回值中的branchName属性的值当成名称
  42. }
  43. }
  44. }
  45. }
  46. </script>
  47. ```
  48. #### 通过props定义编号及名称,通过params传递后台查询参赛,通过插槽定义工具条
  49. ```html
  50. <mdp-select-table :load-fun="loadFun" :props="propsCfgs" :params="{relType:'1'}">
  51. <el-row slot="toolbar">
  52. <el-button @click="addBranch">新增机构 </el-button>
  53. <el-button @click="$refs['selectTableRef'].$refs['tableDialog'].open()">更多数据</el-button>
  54. </el-row>
  55. </mdp-select-table>
  56. ```
  57. ```js
  58. <script>
  59. export default {
  60. data() {
  61. return {
  62. //从后台加载数据的api
  63. loadFun:this.$mdp.listBranch,
  64. propsCfgs:{
  65. id:'branchId',//取api返回值中的branchId属性的值当成编号
  66. name:'branchName',//取api返回值中的branchName属性的值当成名称
  67. }
  68. }
  69. },
  70. method:{
  71. addBranch(){
  72. //调起新增机构页面
  73. }
  74. }
  75. }
  76. </script>
  77. ```
  78. #### 通过属性columnCfgs传入表格字段列表,mdp框架将解析出表头内容,用于配置显示列,排序,高级查询等
  79. ```html
  80. <mdp-select-table show-style="origin" :load-fun="loadFun" :column-cfgs="columnCfgs">
  81. </mdp-select-table>
  82. ```
  83. ```js
  84. <script>
  85. export default {
  86. data() {
  87. return {
  88. //从后台加载数据的api
  89. loadFun:this.$mdp.listBranch,
  90. columnCfgs:{
  91. [
  92. {label:'机构编号',property:'id'},
  93. {label:'机构名称',property:'branchName'},
  94. {label:'地址',property:'address'},
  95. ]
  96. }
  97. }
  98. }
  99. }
  100. </script>
  101. ```
  102. #### 多选、单选模式
  103. ```html
  104. <mdp-select-table show-style="origin" :load-fun="loadFun" :column-cfgs="columnCfgs" :multiple="true">
  105. </mdp-select-table>
  106. ```
  107. ```js
  108. <script>
  109. export default {
  110. data() {
  111. return {
  112. //从后台加载数据的api
  113. loadFun:this.$mdp.listBranch,
  114. columnCfgs:{
  115. [
  116. {label:'机构编号',property:'id'},
  117. {label:'机构名称',property:'branchName'},
  118. {label:'地址',property:'address'},
  119. ]
  120. }
  121. }
  122. }
  123. }
  124. </script>
  125. ```
  126. ### Attributes
  127. |参数|说明|类型|可选值|默认值|
  128. |--------|------|--------|-----------------|----------------|
  129. |loadFun|查询数据的接口函数|Promise|-| -
  130. |params|提交给查询数据的接口的参赛,loadFun(params)|object|-|{}
  131. |multiple|是否多选|boolean|—|false
  132. |show-hi-query|是否显示高级查询|boolean|—|true
  133. |show-common-query|是否显示常规查询|boolean|—|true
  134. |column-cfgs|表头列配置项列表|Array|-|-
  135. |props|简化版的column-cfgs,如果配置了column-cfgs则该属性不起作用,只有两列编号及名称|Object|-|{id:'id',name:'name'}
  136. |show-type|组件分类|string|select / checkbox / radio| select
  137. |show-style|展示风格|string|origin / tag / x| origin
  138. |split|多选的时候,如果要返回字符串时的分隔符,如果设置了值,v-mode传入传出的值将是被该分隔符分割的字符串,如v-model="1,2,3,4"|string| , |
  139. |filterFun|从后台返回的数据进行过滤后再装载到下拉列表,filterFun(option,options),返回true\false,false则过滤掉|function| |
  140. |options|直接指定列表数据|Array
  141. |plusOptions|在原有列表上添加额外的列表项
  142. |⚠️注意:|以上为mdp-ui对element-ui的改造,后面的属于element-ui的原有属性
  143. |value / v-model|绑定值|boolean / string / number|—|—
  144. |multiple|是否多选|boolean|—|false
  145. |disabled|是否禁用|boolean|—|false
  146. |value-key|作为 value 唯一标识的键名,绑定值为对象类型时必填|string|—|value
  147. |size|输入框尺寸|string|medium/small/mini|—
  148. |clearable|是否可以清空选项|boolean|—|false
  149. |collapse-tags|多选时是否将选中值按文字的形式展示|boolean|—|false
  150. |multiple-limit|多选时用户最多可以选择的项目数,为 0 则不限制|number|—|0
  151. |name|select input 的 name 属性|string|—|—
  152. |autocomplete|select input 的 autocomplete 属性|string|—|off
  153. |placeholder|占位符|string|—|请选择
  154. |no-match-text|搜索条件无匹配时显示的文字,也可以使用slot="empty"设置|string|—|无匹配数据
  155. |no-data-text|选项为空时显示的文字,也可以使用slot="empty"设置|string|—|无数据
  156. ### Events
  157. |事件名称|说明|回调参数|
  158. |--------|------|--------|
  159. change2|选中值发生变化时触发,在需要获取值以外更多信息时使用|目前的选中的整个对象,如果multiple=false,返回一个对象,否则返回对象数组
  160. change|选中值发生变化时触发|目前的选中值,如果multiple=false,返回一个值,否则返回值数组,如果split有则,则返回以split分割的字符串,如1,2,3,4,5
  161. visible-change|下拉框出现/隐藏时触发|出现则为 true,隐藏则为 false
  162. remove-tag|多选模式下移除tag时触发|移除的tag值
  163. clear|可清空的单选模式下用户点击清空按钮时触发|—
  164. blur|当 input 失去焦点时触发|(event: Event)
  165. focus|当 input 获得焦点时触发|(event: Event)
  166. ### slot
  167. |name|说明|
  168. |--------|------|
  169. toolbar|下拉列表第一行工具条,默认为更多数据,可通过slot更改
  170. info|鼠标未进入时展示的内容,showStyle=tag\x时有效
  171. oper|鼠标进入后展示的内容,showStyle=tag\x时有效
  172. ~~prefix|Select 组件头部内容~~
  173. empty|无选项时的列表
  174. ### column-cfgs 表头字段配置
  175. |参数|说明|类型|可选值|默认值|
  176. |--------|------|--------|-----------------|----------------|
  177. label|列名|string|—|—
  178. property|属性名,驼峰命名,用于反解析出表字段|string|—|—
  179. sortNo|前端显示排序,排序从0-999,越小越靠前,在表头、常规查询、高级查询的显示顺序|Number|—|—
  180. isCommon|是否常用,用于常规查询是否显示|Boolean|true/false|false
  181. colType|数据库字段类型| string/int/date/datatime/|string/int/date/datatime/|string
  182. showHq|是否在高级查询中显示|boolean|true、false|true
  183. showCol|列名|boolean|—|—
  184. sqlOper|数据库操作符|string|gt/lt/ge/le/eq/ne/left_like/right_like/like/in/nin/bwtween/sql|eq
  185. sqlVal|默认值|string|—|多选的话逗号分隔
  186. beginVal|区间取值时的开始值|string|—|如果sqlOper=between,值存于beginVal及envVal中
  187. endVal|区间取值时的结束值|string|—|如果sqlOper=between,值存于beginVal及envVal中
  188. pk|是否为主键|boolean|true、false|false
  189. itemCode|字典表中itemCode字段,填写了该值将从字典表加载下拉列表|string|—|—
  190. colPrefix|属性需要添加前缀时使用,比如res.id=xxxxx,此次填写res.|string|—|—
  191. disabledHq|是否允许编辑查询条件|boolean|—|—
  192. ### props 简易列配置
  193. |参数|说明|类型|可选值|默认值|
  194. |--------|------|--------|-----------------|----------------|
  195. id|编号列|string|id|id
  196. name|名称列|string|name|name
  197. ### Methods
  198. |方法名|说明|参数|
  199. |--------|------|--------|
  200. focus|使 input 获取焦点|-
  201. blur|使 input 失去焦点,并隐藏下拉框|-