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.

102 lines
3.3 KiB

  1. ### mdp-Field
  2. #### 基本用法
  3. ```vue
  4. <mdp-field show-style="x" :disabled="false" :value="obj" label="" placeholder="占位符" color="#6BC8A2"
  5. icon="el-icon-goods" size="small" @change="change">
  6. </mdp-field>
  7. ```
  8. ```js
  9. data() {
  10. return {
  11. obj: ''
  12. }
  13. },
  14. methods: {
  15. change(currentVal, oldVal) {
  16. this.obj = currentVal
  17. },
  18. },
  19. ```
  20. #### 自定义
  21. 下列是 mdp-field 的插槽层次结构
  22. ```js
  23. <slot>
  24. ├── <slot v-if="showStyle=='x'" name="avater"></slot>
  25. ├── <span>
  26. │ ├── <slot name="info">
  27. │ │ ├── <span v-if="showStyle=='x'">
  28. │ │ │ ├── <div>
  29. │ │ │ │ └── <slot name="value"></slot>
  30. │ │ │ ├── <div>
  31. │ │ │ │ └── <slot name="label"></slot>
  32. │ │ │ └── </div>
  33. │ │ ├── </span>
  34. │ │ └── <span v-else>
  35. │ │ └── <div>
  36. │ │ └── <slot name="value"></slot>
  37. │ │ </div>
  38. │ │ </span>
  39. │ └── </slot>
  40. │── </span>
  41. ├── <span>
  42. │ └── <slot name="oper"></slot>
  43. └── </span>
  44. </slot>
  45. ```
  46. 例子
  47. ```js
  48. data() {
  49. return {
  50. obj: ''
  51. }
  52. }
  53. ```
  54. ```vue
  55. <mdp-field show-style="x">
  56. <template v-slot:avater>
  57. <i class="el-icon-s-custom"></i>
  58. </template>
  59. <template v-slot:info>
  60. <el-input placeholder="username" :disabled="true"></el-input>
  61. </template>
  62. <template v-slot:oper>
  63. <el-input v-model="obj"></el-input>
  64. </template>
  65. </mdp-field>
  66. ```
  67. <img src="/Users/mengdanai/Library/Application Support/typora-user-images/image-20240111190935618.png" alt="image-20240111190935618" style="zoom:50%;" /> <img src="/Users/mengdanai/Library/Application Support/typora-user-images/image-20240111191052830.png" alt="image-20240111191052830" style="zoom:50%;" />
  68. ### Attributes
  69. | 参数 | 说明 | 类型 | 可选值 | 默认值 |
  70. | ----------- | -------------------------- | -------------- | ------------------------------- | ------ |
  71. | disabled | css: pointer-events: none; | Boolean | - | false |
  72. | value | 文本框的内容 | String, Number | - | '' |
  73. | label | 标签字段 | String | - | '' |
  74. | placeholder | 占位符 | String | - | '' |
  75. | color | 背景色 | String | - | '' |
  76. | icon | 图标 | String | - | '' |
  77. | showStyle | 控制组件的布局 | String | x / 不是x的任意值 | x |
  78. | size | 设置头像的大小 | number/string | number / large / medium / small | small |
  79. ### Events
  80. | 事件名 | 说明 | 回调参数 |
  81. | ------ | -------------------------------------- | --------------------------------------------------------- |
  82. | change | 仅在输入框失去焦点或用户按下回车时触发 | (currentVal: string \|number , oldVal: string \| number ) |