--- title: 输入框 / 文本域 toc: true --- # 输入框 > 输入框组件是对文本框``和多行文本框``元素的扩展 普通输入框 <textarea name="" placeholder="多行文本框" class="layui-textarea"></textarea> 输入框点缀 2.8+ 输入框点缀是指给普通输入框附加其他元素来进行动静态修饰,其结构包含:*容器、前缀、输入框、后缀*。 ``` ``` - 容器类: - 前置和后置结构:`class="layui-input-group"` - 前缀和后缀结构:`class="layui-input-wrap"` - 前缀类:`class="layui-input-prefix"` - 后缀类:`class="layui-input-suffix"` - 前缀显示分隔框:`class="layui-input-prefix layui-input-split"` - 后缀显示分隔框:`class="layui-input-suffix layui-input-split"` 通过在不同层级中设置规定的 CSS 类来实现点缀布局,再按照不同需求,在前缀和后缀中放置图标等任意内容。 前置和后置 前置和后置结构是*输入框的自适应结构*,可以很灵活地控制前后置内容与输入框的宽度比例。 - 结构: ``` 前置内容 后缀内容 ``` - 示例: {{- d.include("/form/examples/input.group.md") }} 前缀和后缀 输入框前缀和后缀是*输入框的纯修饰结构*,前缀和后缀宽度固定且其元素不可触及,即只能触及输入框本身。 - 结构: ``` 前缀图标 后缀图标 ``` - 示例: {{- d.include("/form/examples/input.pre.suf.md") }} 注意「前置和后置」与「前缀和后缀」 二者使用时切勿混淆。 动态点缀 2.8+ 该功能允许对输入框内容进行相关动态操作。通过对输入框元素设置 `lay-affix` 属性来开启动态点缀。 | 点缀 | 属性值 | | --- | --- | | [数字输入框](#affix-number) 2.8.9+ | `lay-affix="number"` | | [密码框显隐](#affix-eye) | `lay-affix="eye"` | | [内容清除](#affix-clear) | `lay-affix="clear"` | | [自定义动态点缀](#affix-custom) | `lay-affix="customName"` | 数字输入框 2.8.9+ 一般搭配 `` 使用,用于替代原生数字输入框,支持的属性如下: | 属性 | 描述 | | --- | --- | | step | 设置数字的加减间隔 | | min | 设置数字的最小值 | | max | 设置数字的最大值 | | lay-precision 2.8.18+ | 设置数字的小数位精度。注2.9.8+:若值为 `0`,则表示取整。 | ### 示例 密码显隐 一般搭配 `` 使用,用于控制输入框内容的显示和隐藏。 内容清除 一般搭配 `` 使用,用于清除输入框的内容。 自定义动态点缀 我们还可以对 `lay-affix` 属性设置任意图标值,从而实现自定义动态点缀功能。 其中 `lay-affix="customName"` 值对应图标类`layui-icon-`后面的名称([#详见图标列表](../icon/#list))。且可通过「[点缀事件](#affix-event)」完成自定义操作。 {{- d.include("/form/examples/input.affix.custom.md") }} 输入框的自定义动态点缀功能,让原本单一的输入框有了更多的想象空间。 点缀事件 `form.on('input-affix(filter)', callback);` - `input-affix` 为输入框动态点缀事件固定名称 - `filter` 为输入框对应的 `lay-filter` 属性值 该事件在点击输入框的点缀图标时触发,通过该事件可以完成一些自定义操作。 ``` form.on('input-affix(filter)', function(data){ var elem = data.elem; // 获取输入框 DOM 对象 var affix = data.affix; // 获取输入框 lay-affix 属性值 console.log(this); // 当前触发点缀事件的图标元素 }); ```
<textarea name="" placeholder="多行文本框" class="layui-textarea"></textarea>
{{- d.include("/form/examples/input.group.md") }}
{{- d.include("/form/examples/input.pre.suf.md") }}
{{- d.include("/form/examples/input.affix.custom.md") }}