field.vue 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. <template>
  2. <view>
  3. <text class="example-info"> field 组件是表单中的输入框组件</text>
  4. <uni-section title="带输入框" type="line"></uni-section>
  5. <view class="example-body">
  6. <uni-field :input-border="true" v-model="name" label="姓名" placeholder="请填写姓名" :error-message="errorMessage" />
  7. <uni-field :input-border="true" v-model="mobile" label="手机号" label-position="left" placeholder="请填写手机号" :error-message="errorMessage" type="text" :clearable="true" />
  8. </view>
  9. <uni-section title="不带输入框" type="line"></uni-section>
  10. <view class="example-body">
  11. <uni-field v-model="name" label="姓名" placeholder="请填写姓名" :error-message="errorMessage" />
  12. <uni-field v-model="mobile" label="手机号" label-position="left" placeholder="请填写手机号" :error-message="errorMessage" type="text" :clearable="true" />
  13. </view>
  14. <uni-section title="label 在上" type="line"></uni-section>
  15. <view class="example-body">
  16. <uni-field v-model="name" label="姓名" label-position="top" placeholder="请填写姓名" :error-message="errorMessage" />
  17. <uni-field label-position="top" v-model="mobile" label="手机号" placeholder="请填写手机号" :error-message="errorMessage" type="text" :clearable="true" />
  18. </view>
  19. <uni-section title="label 在左" type="line"></uni-section>
  20. <view class="example-body">
  21. <uni-field v-model="name" label="姓名" placeholder="请填写姓名" :error-message="errorMessage" />
  22. <uni-field v-model="mobile" label="手机号" placeholder="请填写手机号" :error-message="errorMessage" type="text" :clearable="true" />
  23. </view>
  24. <uni-section title="带右侧按钮和 textarea" type="line"></uni-section>
  25. <view class="example-body">
  26. <uni-field v-model="weixin" label="微信" placeholder="请填写微信号" :error-message="errorMessage"></uni-field>
  27. <uni-field v-model="mobile" label="手机号" label-position="left" placeholder="请填写手机号" :error-message="errorMessage" type="text" :clearable="true">
  28. <button v-if="true" type="primary" slot="right" size="mini">发送验证码</button>
  29. </uni-field>
  30. <uni-field v-model="message" type="textarea" label="家庭地址" placeholder="请填写详细住址" :error-message="errorMessage" />
  31. </view>
  32. </view>
  33. </template>
  34. <script>
  35. export default {
  36. data() {
  37. return {
  38. name: '',
  39. mobile: '139 9999 9999',
  40. weixin: 'test123',
  41. message: '',
  42. errorMessage: ''
  43. }
  44. },
  45. methods: {
  46. changeError() {
  47. this.errorMessage = this.errorMessage ? '' : '请填写对应内容'
  48. }
  49. }
  50. }
  51. </script>
  52. <style>
  53. @charset "UTF-8";
  54. /* 头条小程序组件内不能引入字体 */
  55. /* #ifdef MP-TOUTIAO */
  56. @font-face {
  57. font-family: uniicons;
  58. font-weight: normal;
  59. font-style: normal;
  60. src: url("~@/static/uni.ttf") format("truetype");
  61. }
  62. /* #endif */
  63. /* #ifndef APP-NVUE */
  64. page {
  65. display: flex;
  66. flex-direction: column;
  67. box-sizing: border-box;
  68. background-color: #efeff4;
  69. min-height: 100%;
  70. height: auto;
  71. }
  72. view {
  73. font-size: 14px;
  74. line-height: inherit;
  75. }
  76. .example {
  77. padding: 0 15px 15px;
  78. }
  79. .example-info {
  80. padding: 15px;
  81. color: #3b4144;
  82. background: #ffffff;
  83. }
  84. .example-body {
  85. /* #ifndef APP-NVUE */
  86. display: flex;
  87. /* #endif */
  88. flex-direction: row;
  89. flex-wrap: wrap;
  90. justify-content: center;
  91. padding: 0;
  92. font-size: 14px;
  93. background-color: #ffffff;
  94. }
  95. /* #endif */
  96. .example {
  97. padding: 0 15px;
  98. }
  99. .example-info {
  100. /* #ifndef APP-NVUE */
  101. display: block;
  102. /* #endif */
  103. padding: 15px;
  104. color: #3b4144;
  105. background-color: #ffffff;
  106. font-size: 14px;
  107. line-height: 20px;
  108. }
  109. .example-info-text {
  110. font-size: 14px;
  111. line-height: 20px;
  112. color: #3b4144;
  113. }
  114. .example-body {
  115. flex-direction: column;
  116. padding: 15px;
  117. background-color: #ffffff;
  118. }
  119. .word-btn-white {
  120. font-size: 18px;
  121. color: #FFFFFF;
  122. }
  123. .word-btn {
  124. /* #ifndef APP-NVUE */
  125. display: flex;
  126. /* #endif */
  127. flex-direction: row;
  128. align-items: center;
  129. justify-content: center;
  130. border-radius: 6px;
  131. height: 48px;
  132. margin: 15px;
  133. background-color: #007AFF;
  134. }
  135. .word-btn--hover {
  136. background-color: #4ca2ff;
  137. }
  138. .example-body {
  139. padding: 0;
  140. /* #ifndef APP-NVUE */
  141. display: block;
  142. /* #endif */
  143. }
  144. </style>