index.vue 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <template>
  2. <view class="u-demo">
  3. <view class="u-demo-wrap" style="background-color: #FFFFFF;">
  4. <view class="u-demo-title">演示效果</view>
  5. <view class="u-demo-area">
  6. <u-field
  7. v-model="mobile"
  8. label="手机号"
  9. :error-message="errorMessage"
  10. placeholder="请填写手机号"
  11. :required="required"
  12. :icon="icon1"
  13. :type="type"
  14. >
  15. </u-field>
  16. <u-field
  17. v-model="code"
  18. label="验证码"
  19. placeholder="请填写验证码"
  20. :required="required"
  21. :icon="icon2"
  22. >
  23. <u-button v-if="showBtn" slot="right" size="mini" type="success">发送验证码</u-button>
  24. </u-field>
  25. </view>
  26. </view>
  27. <view class="u-config-wrap">
  28. <view class="u-config-title u-border-bottom">
  29. 参数配置
  30. </view>
  31. <view class="u-config-item">
  32. <view class="u-item-title">右侧按钮</view>
  33. <u-subsection current="1" :list="['是', '否']" @change="showBtnChange"></u-subsection>
  34. </view>
  35. <view class="u-config-item">
  36. <view class="u-item-title">显示错误信息</view>
  37. <u-subsection current="1" :list="['是', '否']" @change="errorMessageChange"></u-subsection>
  38. </view>
  39. <view class="u-config-item">
  40. <view class="u-item-title">是否必填</view>
  41. <u-subsection current="1" :list="['是', '否']" @change="requiredChange"></u-subsection>
  42. </view>
  43. <view class="u-config-item">
  44. <view class="u-item-title">显示左图标和右箭头</view>
  45. <u-subsection current="1" :list="['是', '否']" @change="customChange"></u-subsection>
  46. </view>
  47. <view class="u-config-item">
  48. <view class="u-item-title">第一个输入框为textarea类型</view>
  49. <u-subsection current="1" :list="['是', '否']" @change="textareaChange"></u-subsection>
  50. </view>
  51. </view>
  52. </view>
  53. </template>
  54. <script>
  55. export default {
  56. data() {
  57. return {
  58. mobile: '',
  59. code: '',
  60. errorMessage: '',
  61. required: false,
  62. placeholderColor: this.$u.color['tipsColor'],
  63. arrow: false,
  64. showBtn: false,
  65. icon1: '',
  66. icon2: '',
  67. type: 'text',
  68. }
  69. },
  70. methods: {
  71. showBtnChange(index) {
  72. this.showBtn = index == 0 ? true : false;
  73. },
  74. errorMessageChange(index) {
  75. this.errorMessage = index == 0 ? '手机号有误' : false
  76. },
  77. requiredChange(index) {
  78. this.required = index == 0 ? true : false;
  79. },
  80. customChange(index) {
  81. if(index == 0) {
  82. this.icon1 = 'map';
  83. this.icon2 = 'photo';
  84. this.arrow = true;
  85. } else {
  86. this.icon1 = '';
  87. this.icon2 = '';
  88. this.arrow = false;
  89. }
  90. },
  91. textareaChange(index) {
  92. this.type = index == 0 ? 'textarea' : 'text';
  93. }
  94. }
  95. }
  96. </script>
  97. <style lang="scss" scoped>
  98. .u-demo {
  99. }
  100. </style>