easyinput.vue 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <template>
  2. <view>
  3. <uni-card :is-shadow="false" is-full>
  4. <text class="uni-h6">easyinput 组件是对原生input组件的增强 ,是专门为配合表单组件 uni-forms 而设计的,easyinput 内置了边框,图标等,同时包含 input
  5. 所有功能</text>
  6. </uni-card>
  7. <uni-section title="默认" subTitle="使用 focus 属性自动获取输入框焦点" type="line" padding>
  8. <uni-easyinput errorMessage v-model="value" focus placeholder="请输入内容" @input="input"></uni-easyinput>
  9. </uni-section>
  10. <uni-section title="去除空格" subTitle="使用 trim 属性 ,可以控制返回内容的空格 " type="line" padding>
  11. <text class="uni-subtitle">输入内容:{{ '"'+value+'"' }}</text>
  12. <uni-easyinput class="uni-mt-5" trim="all" v-model="value" placeholder="请输入内容" @input="input"></uni-easyinput>
  13. </uni-section>
  14. <uni-section title="自定义样式" subTitle="使用 styles 属性 ,可以自定义输入框样式" type="line" padding>
  15. <uni-easyinput v-model="value" :styles="styles" :placeholderStyle="placeholderStyle" placeholder="请输入内容"
  16. @input="input"></uni-easyinput>
  17. </uni-section>
  18. <uni-section title="图标" subTitle="使用 prefixIcon / suffixIcon 属性 ,可以自定义输入框左右侧图标" type="line" padding>
  19. <uni-easyinput prefixIcon="search" v-model="value" placeholder="左侧图标" @iconClick="iconClick">
  20. </uni-easyinput>
  21. <uni-easyinput class="uni-mt-5" suffixIcon="search" v-model="value" placeholder="右侧图标"
  22. @iconClick="iconClick">
  23. </uni-easyinput>
  24. </uni-section>
  25. <uni-section title="禁用" subTitle="使用 disabled 属性禁用输入框" type="line" padding>
  26. <uni-easyinput disabled value="已禁用" placeholder="请输入内容"></uni-easyinput>
  27. </uni-section>
  28. <uni-section title="密码框" subTitle="指定属性 type=password 使用密码框,右侧会显示眼睛图标" type="line" padding>
  29. <uni-easyinput type="password" v-model="password" placeholder="请输入密码"></uni-easyinput>
  30. </uni-section>
  31. <uni-section title="多行文本" subTitle="指定属性 type=textarea 使用多行文本框" type="line" padding>
  32. <uni-easyinput type="textarea" v-model="value" placeholder="请输入内容"></uni-easyinput>
  33. </uni-section>
  34. <uni-section title="多行文本自动高度" subTitle="使用属性 autoHeight 使多行文本框自动增高" type="line" padding>
  35. <uni-easyinput type="textarea" autoHeight v-model="value" placeholder="请输入内容"></uni-easyinput>
  36. </uni-section>
  37. </view>
  38. </template>
  39. <script>
  40. export default {
  41. data() {
  42. return {
  43. value: '',
  44. password: '',
  45. placeholderStyle: "color:#2979FF;font-size:14px",
  46. styles: {
  47. color: '#2979FF',
  48. borderColor: '#2979FF'
  49. }
  50. }
  51. },
  52. onLoad() {},
  53. onReady() {},
  54. methods: {
  55. input(e) {
  56. console.log('输入内容:', e);
  57. },
  58. iconClick(type) {
  59. uni.showToast({
  60. title: `点击了${type==='prefix'?'左侧':'右侧'}的图标`,
  61. icon: 'none'
  62. })
  63. }
  64. }
  65. }
  66. </script>
  67. <style lang="scss">
  68. .uni-mt-5 {
  69. margin-top: 5px;
  70. }
  71. </style>