index.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. <template>
  2. <demo-section>
  3. <demo-block :title="$t('basicUsage')">
  4. <van-cell-group>
  5. <van-field
  6. v-model="value"
  7. :placeholder="$t('usernamePlaceholder')"
  8. />
  9. </van-cell-group>
  10. </demo-block>
  11. <demo-block :title="$t('title2')">
  12. <van-cell-group>
  13. <van-field
  14. v-model="username"
  15. :label="$t('username')"
  16. :placeholder="$t('usernamePlaceholder')"
  17. clearable
  18. right-icon="question-o"
  19. required
  20. @click-right-icon="$toast('question')"
  21. />
  22. <van-field
  23. v-model="password"
  24. type="password"
  25. :label="$t('password')"
  26. :placeholder="$t('passwordPlaceholder')"
  27. required
  28. />
  29. </van-cell-group>
  30. </demo-block>
  31. <demo-block :title="$t('title3')">
  32. <van-cell-group>
  33. <van-field
  34. :value="$t('inputDisabled')"
  35. :label="$t('username')"
  36. left-icon="contact"
  37. disabled
  38. />
  39. </van-cell-group>
  40. </demo-block>
  41. <demo-block :title="$t('title4')">
  42. <van-cell-group>
  43. <van-field
  44. v-model="username2"
  45. :label="$t('username')"
  46. :placeholder="$t('usernamePlaceholder')"
  47. error
  48. />
  49. <van-field
  50. v-model="phone"
  51. :label="$t('phone')"
  52. :placeholder="$t('phonePlaceholder')"
  53. :error-message="$t('phoneError')"
  54. />
  55. </van-cell-group>
  56. </demo-block>
  57. <demo-block :title="$t('title5')">
  58. <van-cell-group>
  59. <van-field
  60. v-model="message"
  61. :label="$t('message')"
  62. type="textarea"
  63. :placeholder="$t('messagePlaceholder')"
  64. rows="1"
  65. autosize
  66. />
  67. </van-cell-group>
  68. </demo-block>
  69. <demo-block :title="$t('title6')">
  70. <van-cell-group>
  71. <van-field
  72. center
  73. clearable
  74. v-model="sms"
  75. :label="$t('sms')"
  76. :placeholder="$t('smsPlaceholder')"
  77. >
  78. <van-button
  79. slot="button"
  80. size="small"
  81. type="primary"
  82. >
  83. {{ $t('sendSMS') }}
  84. </van-button>
  85. </van-field>
  86. </van-cell-group>
  87. </demo-block>
  88. </demo-section>
  89. </template>
  90. <script>
  91. export default {
  92. i18n: {
  93. 'zh-CN': {
  94. title2: '自定义类型',
  95. title3: '禁用输入框',
  96. title4: '错误提示',
  97. title5: '高度自适应',
  98. title6: '插入按钮',
  99. message: '留言',
  100. phone: '手机号',
  101. sms: '短信验证码',
  102. sendSMS: '发送验证码',
  103. smsPlaceholder: '请输入短信验证码',
  104. phonePlaceholder: '请输入手机号',
  105. messagePlaceholder: '请输入留言',
  106. inputDisabled: '输入框已禁用',
  107. phoneError: '手机号格式错误'
  108. },
  109. 'en-US': {
  110. title2: 'Custom type',
  111. title3: 'Disabled',
  112. title4: 'Error info',
  113. title5: 'Auto resize',
  114. title6: 'Insert button',
  115. message: 'Message',
  116. phone: 'Phone',
  117. sms: 'SMS',
  118. sendSMS: 'Send SMS',
  119. smsPlaceholder: 'SMS',
  120. phonePlaceholder: 'Phone',
  121. messagePlaceholder: 'Message',
  122. inputDisabled: 'Disabled',
  123. phoneError: 'Invalid phone'
  124. }
  125. },
  126. data() {
  127. return {
  128. sms: '',
  129. value: '',
  130. password: '',
  131. username: '',
  132. username2: '',
  133. message: '',
  134. phone: '1365577'
  135. };
  136. }
  137. };
  138. </script>
  139. <style lang="less">
  140. @import '../../style/var';
  141. .demo-field {
  142. padding-bottom: 30px;
  143. .van-field__right-icon .van-icon {
  144. color: @blue;
  145. }
  146. }
  147. </style>