|
|
import { defineMixin } from '../../libs/vue'
|
|
|
import defProps from '../../libs/config/props.js'
|
|
|
|
|
|
export const props = defineMixin({
|
|
|
props: {
|
|
|
// 输入框的内容
|
|
|
value: {
|
|
|
type: [String, Number],
|
|
|
default: () => defProps.textarea.value
|
|
|
},
|
|
|
// 输入框的内容
|
|
|
modelValue: {
|
|
|
type: [String, Number],
|
|
|
default: () => defProps.textarea.value
|
|
|
},
|
|
|
// 输入框为空时占位符
|
|
|
placeholder: {
|
|
|
type: [String, Number],
|
|
|
default: () => defProps.textarea.placeholder
|
|
|
},
|
|
|
// 指定placeholder的样式类,注意页面或组件的style中写了scoped时,需要在类名前写/deep/
|
|
|
placeholderClass: {
|
|
|
type: String,
|
|
|
default: () => defProps.input.placeholderClass
|
|
|
},
|
|
|
// 指定placeholder的样式
|
|
|
placeholderStyle: {
|
|
|
type: [String, Object],
|
|
|
default: () => defProps.input.placeholderStyle
|
|
|
},
|
|
|
// 输入框高度
|
|
|
height: {
|
|
|
type: [String, Number],
|
|
|
default: () => defProps.textarea.height
|
|
|
},
|
|
|
// 设置键盘右下角按钮的文字,仅微信小程序,App-vue和H5有效
|
|
|
confirmType: {
|
|
|
type: String,
|
|
|
default: () => defProps.textarea.confirmType
|
|
|
},
|
|
|
// 是否禁用
|
|
|
disabled: {
|
|
|
type: Boolean,
|
|
|
default: () => defProps.textarea.disabled
|
|
|
},
|
|
|
// 是否显示统计字数
|
|
|
count: {
|
|
|
type: Boolean,
|
|
|
default: () => defProps.textarea.count
|
|
|
},
|
|
|
// 是否自动获取焦点,nvue不支持,H5取决于浏览器的实现
|
|
|
focus: {
|
|
|
type: Boolean,
|
|
|
default: () => defProps.textarea.focus
|
|
|
},
|
|
|
// 是否自动增加高度
|
|
|
autoHeight: {
|
|
|
type: Boolean,
|
|
|
default: () => defProps.textarea.autoHeight
|
|
|
},
|
|
|
// 如果textarea是在一个position:fixed的区域,需要显示指定属性fixed为true
|
|
|
fixed: {
|
|
|
type: Boolean,
|
|
|
default: () => defProps.textarea.fixed
|
|
|
},
|
|
|
// 指定光标与键盘的距离
|
|
|
cursorSpacing: {
|
|
|
type: Number,
|
|
|
default: () => defProps.textarea.cursorSpacing
|
|
|
},
|
|
|
// 指定focus时的光标位置
|
|
|
cursor: {
|
|
|
type: [String, Number],
|
|
|
default: () => defProps.textarea.cursor
|
|
|
},
|
|
|
// 是否显示键盘上方带有”完成“按钮那一栏,
|
|
|
showConfirmBar: {
|
|
|
type: Boolean,
|
|
|
default: () => defProps.textarea.showConfirmBar
|
|
|
},
|
|
|
// 光标起始位置,自动聚焦时有效,需与selection-end搭配使用
|
|
|
selectionStart: {
|
|
|
type: Number,
|
|
|
default: () => defProps.textarea.selectionStart
|
|
|
},
|
|
|
// 光标结束位置,自动聚焦时有效,需与selection-start搭配使用
|
|
|
selectionEnd: {
|
|
|
type: Number,
|
|
|
default: () => defProps.textarea.selectionEnd
|
|
|
},
|
|
|
// 键盘弹起时,是否自动上推页面
|
|
|
adjustPosition: {
|
|
|
type: Boolean,
|
|
|
default: () => defProps.textarea.adjustPosition
|
|
|
},
|
|
|
// 是否去掉 iOS 下的默认内边距,只微信小程序有效
|
|
|
disableDefaultPadding: {
|
|
|
type: Boolean,
|
|
|
default: () => defProps.textarea.disableDefaultPadding
|
|
|
},
|
|
|
// focus时,点击页面的时候不收起键盘,只微信小程序有效
|
|
|
holdKeyboard: {
|
|
|
type: Boolean,
|
|
|
default: () => defProps.textarea.holdKeyboard
|
|
|
},
|
|
|
// 最大输入长度,设置为 -1 的时候不限制最大长度
|
|
|
maxlength: {
|
|
|
type: [String, Number],
|
|
|
default: () => defProps.textarea.maxlength
|
|
|
},
|
|
|
// 边框类型,surround-四周边框,bottom-底部边框
|
|
|
border: {
|
|
|
type: String,
|
|
|
default: () => defProps.textarea.border
|
|
|
},
|
|
|
// 用于处理或者过滤输入框内容的方法
|
|
|
formatter: {
|
|
|
type: [Function, null],
|
|
|
default: () => defProps.textarea.formatter
|
|
|
},
|
|
|
// 是否忽略组件内对文本合成系统事件的处理
|
|
|
ignoreCompositionEvent: {
|
|
|
type: Boolean,
|
|
|
default: true
|
|
|
}
|
|
|
}
|
|
|
})
|