Skip to content

LimeTextarea 多行文本框

  • 多行文本框用于多行文本信息输入, 兼容uniapp/uniappx
  • 插件依赖lime-shared,lime-style不喜勿下

安装

插件市场入口 导入即可,首次导入可能需要重新编译

文档

textarea

代码演示

基础使用

通过v-model双向绑定,或通过change事件接收输入文本

html
<l-textarea v-model="value" placeholder="请输入文字" @change="change"></l-textarea>
js
const value = ref('');
const change = (value: string) => {
	
}

带标题

通过label属性设置标题

html
<l-textarea label="标签文字" placeholder="请输入文字"></l-textarea>

自动增高

通过autosize设置为true为自动增高

html
<l-textarea label="标签文字" placeholder="请输入文字" :autosize="true"></l-textarea>

字符限制

通过maxlength设置最大文本字数,通过indicator设置为true可显示字数

html
<l-textarea label="标签文字" placeholder="请输入文字"  :maxlength="500" :indicator="true"></l-textarea>

禁用

通过disabled设置可禁止输入

html
<l-textarea label="标签文字" placeholder="请输入文字" :disabled="true"></l-textarea>

竖排布局

通过layout可设置布局方向

html
<l-textarea label="标签文字" placeholder="请输入文字" layout="vertical"></l-textarea>

查看示例

  • 导入后直接使用这个标签查看演示效果
html
<!-- // 代码位于 uni_modules/lime-textarea/compoents/lime-textarea -->
<lime-textarea />

插件标签

  • 默认 l-textarea 为 component
  • 默认 lime-textarea 为 demo

关于vue2的使用方式

  • 插件使用了composition-api, 如果你希望在vue2中使用请按官方的教程vue-composition-api配置
  • 关键代码是: 在main.js中 在vue2部分加上这一段即可
js
// vue2
import Vue from 'vue'
import VueCompositionAPI from '@vue/composition-api'
Vue.use(VueCompositionAPI)

API

Props

参数说明类型默认值
v-model文本string``
value文本string``
adjustPosition键盘弹起时,是否自动上推页面booleantrue
autofocus自动聚焦,拉起键盘booleanfalse
autosize是否自动增高booleanfalse
bordered是否显示外边框booleanfalse
disabled是否禁用文本框booleanfalse
focus自动聚焦booleanfalse
holdKeyboardfocus时,点击页面的时候不收起键盘booleanfalse
indicator显示文本计数器booleanfalse
showConfirmBar是否显示键盘上方带有”完成“按钮那一栏booleantrue
fixed如果 textarea 是在一个 position:fixed 的区域,需要显示指定属性 fixed 为 truebooleanfalse
confirmHold点击键盘右下角按钮时是否保持键盘不收起点booleanfalse
confirmType设置键盘右下角按钮的文字可参考stringreturn
cursor指定 focus 时的光标位置number-1
cursorSpacing指定光标与键盘的距离number0
maxlength用户最多可以输入的字符个数,值为 -1number-1
selectionEnd光标结束位置,自动聚集时有效number-1
selectionStart光标起始位置,自动聚集时有效number-1
placeholder占位符string-
layout标题输入框布局方式,可选值'vertical' 'horizontal'stringhorizontal
placeholderStyle指定 placeholder 的样式string-
lStyle自定义样式string-
labelStyle标签样式string-
indicatorStyle计数器样式string-
innerStyle内部textarea样式string``

Slots

名称说明
label标题

Events

事件名说明回调参数
change输入内容变化时触发value:string
blur失去焦点时触发event: UniTextareaBlurEvent
focus获得焦点时触发event: UniTextareaFocusEvent
keyboardheightchange获得焦点时触发event:UniInputKeyboardHeightChangeEvent
linechange行高发生变化时触发event: UniTextareaLineChangeEvent
confirm点击完成时触发event: UniInputConfirmEvent

主题定制

样式变量

组件提供了下列 CSS 变量,可用于自定义样式,uvue app不支持。

名称默认值描述
--l-textarea-vertical-padding32rpx-
--l-textarea-horizontal-padding32rpx-
--l-textarea-text-line-height48rpx-
--l-textarea-label-line-height44rpx-
--l-textarea-label-width128rpx-
--l-textarea-label-padding-right$spacer-
--l-textarea-label-padding-bottom$spacer-xs-
--l-textarea-indicator-text-line-height40rpx-
--l-textarea-indicator-text-padding-top$spacer-xs-
--l-textarea-indicator-text-alignright-
--l-textarea-border-width2rpx-
--l-textarea-indicator-text-font-size$spacer-sm-
--l-textarea-label-font-size14px-
--l-textarea-label-large-font-size16px-
--l-textarea-text-font-size16px-
--l-textarea-placeholder-font-size16px-
--l-textarea-bg-color$bg-color-container-
--l-textarea-placeholder-color$text-color-3-
--l-textarea-text-color$text-color-1-
--l-textarea-label-color$text-color-1-
--l-textarea-indicator-text-color$text-color-3-
--l-textarea-border-radius$border-radius-
--l-textarea-border-color$border-color-1-
--l-textarea-disabled-text-color$text-color-4-

打赏

如果你觉得本插件,解决了你的问题,赠人玫瑰,手留余香。

源代码

组件源码