input type date 解决移动端显示placeholder.

网上找的方法苹果可以了 安卓显示总有问题.

加了段CSS就完美解决了,就是UC有点奇葩

以下是我测试的浏览器:

微信--OK.

QQ浏览器--OK

谷歌浏览器--OK

UC浏览器(业界奇葩),前面会有空白

css

input[type="date"]:before{
    color:#A9A9A9;
    content:attr(placeholder);
}


input[type="date"].full:before {
    color:black;
    content:""!important;
}


js

$("#date").on("input",function(){
   if($(this).val().length>0){
   $(this).addClass("full");
}
else{
  $(this).removeClass("full");
  }
 });


html

 <input id="date" class="weui_input" type="date" placeholder="请选择出生日期" style="height:41px;overflow: hidden;">

这里说明一下, input不设置高度的话在安卓下会placeholder 跟date 同时显示 而且显示两行, 限制高度加overflow即可解决.

<think>好的,我现在要回答用户关于Element UI的el-input组件type属性的问题。首先,我需要回顾一下自己对这个组件的了解。Element UI是一个基于Vue的UI框架,el-input是其中常用的输入框组件。type属性决定了输入框的类型,同的类型会有同的验证和输入限制。 根据用户提供的引用内容,引用[1]提到了使用正则表达式验证输入数字和小数点,引用[2]展示了如何修改el-input的补丁,引用[3]介绍了Element-UI的基本用法,引用[4]解决了clearable属性导致的图标问题。但用户现在问的是type属性的官方文档和示例,所以需要整理官方资料并结合实际应用场景。 首先,我需要确认Element UI官方文档中关于el-inputtype属性有哪些可选值。常见的类型包括text、password、textarea、number、email、url等。每个类型对应的输入行为和验证机制同。例如,type="number"会限制用户只能输入数字,而type="email"会检查电子邮件格式。 接下来,我需要为用户整理每个type的用途、示例代码以及注意事项。例如,type="password"会隐藏输入内容,显示为星号或圆点;type="textarea"会呈现为多行文本框。同时,需要注意某些类型在同浏览器中的表现可能一致,比如number类型在移动端可能会调出数字键盘,但需要额外的验证,因为用户仍然可能输入非数字字符。 还要考虑用户可能遇到的常见问题,比如使用type="number"时,输入框的值可能是字符串还是数字类型,如何处理。此外,结合引用[1]中的正则验证方法,可以补充说明即使使用type属性,有时仍需额外的输入验证,特别是在需要特定格式的情况下,比如小数点后两位的限制。 另外,引用[4]提到的clearable属性导致的问题,可能与type属性无关,但需要注意在某些type下,clearable的表现是否正常。例如,在type="textarea"下是否支持清除功能。 需要确保示例代码正确,并且符合用户的使用场景。例如,展示如何设置type为password,以及如何结合其他属性如show-password来切换显示密码。同时,对于textarea类型,可能需要设置rows属性来定义默认行数。 最后,生成相关问题,帮助用户进一步了解el-input的其他功能,比如验证机制、事件处理或自定义样式,这些都与type属性相关,但用户可能后续会感兴趣。 总结步骤:列出所有type属性值,每个值的作用,示例代码,注意事项,以及常见问题。确保引用正确,并结合用户提供的引用内容中的相关部分,如输入验证和样式调整。</think>### Element UI el-input 的 `type` 属性详解 Element UI 的 `el-input` 组件的 `type` 属性用于定义输入框的类型,同类型会触发浏览器原生输入验证或改变输入行为。以下是官方文档中支持的 `type` 值及其用法示例: --- #### 1. **`text`(默认)** - **用途**:普通文本输入。 - **示例**: ```html <el-input v-model="textValue" placeholder="请输入文本"></el-input> ``` - **注意事项**:默认类型,无特殊验证。 --- #### 2. **`password`** - **用途**:密码输入,内容会被隐藏为圆点或星号。 - **示例**: ```html <el-input v-model="passwordValue" type="password" show-password <!-- 支持切换显示密码 --> placeholder="请输入密码" ></el-input> ``` - **注意事项**:结合 `show-password` 属性可添加“显示/隐藏密码”的切换按钮[^3]。 --- #### 3. **`textarea`** - **用途**:多行文本输入框。 - **示例**: ```html <el-input v-model="textareaValue" type="textarea" :rows="4" <!-- 设置默认显示行数 --> placeholder="请输入多行文本" ></el-input> ``` - **注意事项**:需通过 `rows` 属性控制初始高度[^3]。 --- #### 4. **`number`** - **用途**:数字输入,部分浏览器会限制只能输入数字。 - **示例**: ```html <el-input v-model="numberValue" type="number" :min="0" <!-- 最小值 --> :max="100" <!-- 最大值 --> placeholder="请输入数字" ></el-input> ``` - **注意事项**: - 浏览器差异:移动端可能调出数字键盘,但部分浏览器仍允许输入非数字字符,需额外验证(如正则表达式)[^1]。 - 输入值类型:`v-model` 绑定的值为字符串类型,需手动转换为数字。 --- #### 5. **`email`** - **用途**:邮箱输入,触发浏览器内置邮箱格式验证。 - **示例**: ```html <el-input v-model="emailValue" type="email" placeholder="请输入邮箱" ></el-input> ``` - **注意事项**:需结合表单验证规则(如正则表达式)确保格式正确。 --- #### 6. **`url`** - **用途**:URL 输入,触发浏览器内置 URL 格式验证。 - **示例**: ```html <el-input v-model="urlValue" type="url" placeholder="请输入URL" ></el-input> ``` - **注意事项**:验证规则较为宽松,建议补充自定义正则验证。 --- #### 7. **其他 HTML5 类型** Element UI 也支持 HTML5 输入类型如 `tel`(电话)、`date`(日期)等,但需注意浏览器兼容性: ```html <el-input type="date" v-model="dateValue"></el-input> <el-input type="tel" v-model="telValue"></el-input> ``` --- ### 常见问题及解决方法 1. **输入值类型问题** 使用 `type="number"` 时,`v-model` 绑定的值为字符串,需使用 `Number()` 转换或通过 `.number` 修饰符: ```html <el-input v-model.number="numberValue" type="number"></el-input> ``` 2. **输入验证补充** 即使使用 `type="number"`,仍需通过正则表达式限制输入格式(如小数点后两位): ```javascript const reg = /^\d*\.?\d{0,2}$/; // 限制最多两位小数 ``` 3. **样式调整** 若使用 `clearable` 属性后出现图标重叠,可通过 CSS 隐藏冗余图标[^4]: ```css ::v-deep .el-input__validateIcon { display: none; } ``` ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值