uni-easyinput 增强输入框

介绍

基本用法

输入内容后,输入框尾部会显示清除按钮,点击可清除内容,如不需要展示图标,clearable 属性设置为 false 即可

clearable 属性设置为 true ,输入框聚焦且内容不为空时,才会显示内容

<uni-easyinput v-model="value" placeholder="请输入内容"></uni-easyinput>

输入框带左右图标

设置 prefixIcon 属性来显示输入框的头部图标

设置 suffixIcon 属性来显示输入框的尾部图标

注意图标当前只支持 uni-icons 内置的图标,当配置 suffixIcon 属性后,会覆盖 :clearable="true" 和 type="password" 时的原有图标

绑定 @iconClick 事件可以触发图标的点击 ,返回 prefix 表示点击左侧图标,返回 suffix 表示点击右侧图标


<!-- 输入框头部图标 -->
<uni-easyinput prefixIcon="search" v-model="value" placeholder="请输入内容" @iconClick="onClick"></uni-easyinput>
<!-- 展示输入框尾部图标 -->
<uni-easyinput suffixIcon="search"  v-model="value" placeholder="请输入内容" @iconClick="onClick"></uni-easyinput>

 插槽

设置 right 属性来设置右侧内容 插槽。

<uni-easyinput>
	<template #right>
		<view>密码</view>
	</template>
</uni-easyinput>

 输入框禁用

设置 disable 属性可以禁用输入框,此时输入框不可编辑

<uni-easyinput disabled  v-model="value" placeholder="请输入内容"></uni-easyinput>

密码框

设置 type="password" 时,输入框内容将会不可见,由实心点代替,同时输入框尾部会显示眼睛图标,点击可切换内容显示状态

<uni-easyinput type="password" v-model="password" placeholder="请输入密码"></uni-easyinput>

输入框聚焦

设置 focus 属性可以使输入框聚焦

如果页面存在多个设置 focus 属性的输入框,只有最后一个输入框的 focus 属性会生效

<uni-easyinput focus v-model="password" placeholder="请输入内容"></uni-easyinput>

多行文本

设置 type="textarea" 时可输入多行文本

<uni-easyinput type="textarea" v-model="value" placeholder="请输入内容"></uni-easyinput>

多行文本自动高度

设置 type="textarea" 时且设置 autoHeight 属性,可使用多行文本的自动高度,会跟随内容调整输入框的显示高度

<uni-easyinput type="textarea" autoHeight v-model="value" placeholder="请输入内容"></uni-easyinput>

取消边框

设置 :inputBorder="false" 时可取消输入框的边框显示,同时搭配 uni-forms 的 :border="true" 有较好的效果

<uni-forms border>
	<uni-forms-item label="姓名">
		<uni-easyinput :inputBorder="false" placeholder="请输入姓名"></uni-easyinput>
	</uni-forms-item>
	<uni-forms-item label="年龄">
		<uni-easyinput :inputBorder="false" placeholder="请输入年龄"></uni-easyinput>
	</uni-forms-item>
</uni-forms>

 

 

 

 

 

### 关于 `uni-easyinput` 组件不显示问题的解决方案 在 UniApp 开发过程中,遇到 `uni-easyinput` 组件无法正常显示的情况可能由多种原因引起。以下是针对该问题的具体分析和解决方案: #### 1. **HTML 结构验证** 确保 HTML 结构正确无误。从引用的内容来看,组件的基本结构如下所示[^1]: ```html <view class="test1"> <uni-easyinput type="text" placeholder="请输入账号"></uni-easyinput> <uni-easyinput type="password" placeholder="请输入密码">请输入密码</uni-easyinput> <common></common> </view> ``` 需要注意的是,`uni-easyinput` 的标签闭合应严格遵循标准语法,避免因错误书写导致渲染失败。 --- #### 2. **清除按钮未显示问题** 如果发现清除按钮(即清空输入框的小图标)未能正常显示,可能是由于组件内部逻辑限制所致。具体表现为:当设置 `suffixIcon` 属性时,如果没有绑定对应的清空事件或者类型不符合预期,则可能导致清除功能失效[^2]。 解决方法之一是在初始化组件时显式指定 `clearable` 和其他必要参数,并确认其值是否满足条件。例如: ```html <uni-easyinput type="text" clearable="true" suffixIcon="" placeholder="请输入内容"> </uni-easyinput> ``` 此外,还需检查是否存在样式冲突或自定义 CSS 覆盖默认行为的可能性。 --- #### 3. **表单校验异常处理** 对于某些场景下 `uni-easyinput` 表单校验始终无法通过的现象,通常是因为数据绑定机制存在问题。根据已有经验[^3],推荐采用以下方式优化代码实现: - 使用 `v-model` 进行动态绑定; - 或者改用手动控制模式——通过监听 `@blur` 事件并借助 `$refs` 获取实际值。 下面是一个基于后者的工作示例[^4]: ```javascript methods: { handleBlur() { this.formData.supplierBatch = this.$refs.easyinput.val; } } ``` 对应模板部分调整为: ```html <uni-easyinput ref="easyinput" :value="formData.supplierBatch" @blur="handleBlur" placeholder="请输入供应商批次号"> </uni-easyinput> ``` 上述改动能够有效规避潜在的数据同步延迟风险,从而提升用户体验流畅度。 --- #### 4. **调试技巧总结** 为了进一步排查隐藏因素影响到最终呈现效果,请依次执行下列操作步骤: - 确认已安装最新版本的 `uni-ui` 库文件及其依赖项。 - 查阅官方文档核实当前 API 参数配置说明是否有所更新。 - 利用浏览器开发者工具审查页面 DOM 元素状态以及关联样式规则应用情况。 --- ### 总结 综上所述,`uni-easyinput` 不显示的主要成因集中在以下几个方面:HTML 模板编写失误、内置交互逻辑缺陷修复不足、动态绑定策略选用不当等。按照前述指导逐一修正后即可恢复正常运作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值