当前位置:首页 > uni-app

uniapp 文本框

2026-03-05 16:06:16uni-app

uniapp 文本框基础用法

在uniapp中,文本框通常使用<input><textarea>组件实现。<input>适用于单行文本输入,<textarea>适用于多行文本输入。

<!-- 单行文本框 -->
<input type="text" v-model="inputValue" placeholder="请输入内容"/>

<!-- 多行文本框 -->
<textarea v-model="textareaValue" placeholder="请输入多行内容"/>

对应的JavaScript部分:

export default {
  data() {
    return {
      inputValue: '',
      textareaValue: ''
    }
  }
}

文本框常用属性

<input>组件支持以下常用属性:

  • type: 指定输入类型(text, number, password等)
  • v-model: 双向数据绑定
  • placeholder: 提示文本
  • disabled: 禁用状态
  • maxlength: 最大输入长度
  • confirm-type: 键盘右下角按钮类型(如send, search等)

<textarea>特有属性:

  • auto-height: 是否自动增高
  • fixed: 是否固定位置
  • cursor-spacing: 指定光标与键盘间距

样式自定义

通过CSS可以自定义文本框样式:

/* 全局样式 */
input, textarea {
  border: 1px solid #eee;
  border-radius: 4px;
  padding: 8px 12px;
  width: 100%;
  box-sizing: border-box;
}

/* 聚焦状态 */
input:focus, textarea:focus {
  border-color: #007AFF;
  outline: none;
}

表单验证

结合uniapp的表单验证机制:

<input 
  v-model="username" 
  placeholder="请输入用户名"
  @blur="validateUsername"
/>
<span v-if="error" class="error-text">{{error}}</span>
export default {
  data() {
    return {
      username: '',
      error: ''
    }
  },
  methods: {
    validateUsername() {
      if(this.username.length < 3) {
        this.error = '用户名至少3个字符'
      } else {
        this.error = ''
      }
    }
  }
}

平台差异处理

不同平台可能有表现差异,可通过条件编译处理:

<!-- #ifdef MP-WEIXIN -->
<input type="text" confirm-type="search"/>
<!-- #endif -->

<!-- #ifdef APP-PLUS -->
<input type="text" return-key-type="search"/>
<!-- #endif -->

高级功能实现

实现带清除按钮的文本框:

uniapp 文本框

<input 
  v-model="searchText" 
  placeholder="搜索"
  @input="onSearchInput"
/>
<text 
  v-if="searchText" 
  @click="clearSearch"
  class="clear-btn"
>×</text>
export default {
  methods: {
    clearSearch() {
      this.searchText = ''
    },
    onSearchInput() {
      // 实时搜索逻辑
    }
  }
}

标签: 文本框uniapp
分享给朋友:

相关文章

uniapp请求超时处理

uniapp请求超时处理

uniapp请求超时处理方法 在uniapp中处理请求超时可以通过多种方式实现,以下是几种常见的处理策略: 设置全局请求超时时间 在main.js中配置全局请求超时时间,适用于所有请求: uni…

uniapp接入

uniapp接入

接入UniApp的基本流程 UniApp是一个基于Vue.js的跨平台开发框架,支持一次开发,多端发布。以下是接入UniApp的基本流程: 环境准备 确保已安装Node.js(建议版本12+)和HB…

uniapp 画板

uniapp 画板

uniapp 实现画板功能的方法 在 uniapp 中实现画板功能,可以通过 canvas 组件结合触摸事件来完成。以下是一个基本的实现方案: 基本画板实现 在 template 中添加 canva…

uniapp 头条

uniapp 头条

uniapp 适配今日头条(字节跳动小程序)的方法 环境配置 确保HBuilderX版本在2.7.0以上,manifest.json中勾选"字节跳动小程序"平台。在开发者工具中配置正确的AppID和项…

介绍uniapp

介绍uniapp

Uniapp 概述 Uniapp 是一款基于 Vue.js 的跨平台开发框架,允许开发者使用一套代码同时生成 iOS、Android、Web 以及小程序应用。其核心优势在于高效开发和代码复用,大幅降低…

uniapp与vr

uniapp与vr

Uniapp与VR的结合方式 Uniapp作为跨平台开发框架,本身不直接支持VR开发,但可以通过以下方式实现与VR技术的结合: 使用WebXR API Uniapp可以调用WebXR API在H5端…