uni-app NVUE textarea无法confirm换行
uni-app NVUE textarea无法confirm换行
| 项目信息 | 详细信息 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Windows |
| PC开发环境版本 | windows10 |
| HBuilderX类型 | 正式 |
| HBuilderX版本 | 3.4.6 |
| 手机系统 | iOS |
| 手机系统版本 | iOS 14 |
| 手机厂商 | 苹果 |
| 手机机型 | iphoneXsMax |
| 页面类型 | nvue |
| vue版本 | vue2 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
示例代码:
<textarea value="" placeholder="111" />
操作步骤:
- 任意新建一个项目
- 输入以下代码
<textarea value="" placeholder="111" />
预期结果:
应当可以输入内容,confirm自动换行
实际结果:
可以输入, 但无法换行。confirm后键盘自动收起
bug描述:
NVUE textarea无法confirm换行
更多关于uni-app NVUE textarea无法confirm换行的实战教程也可以访问 https://www.itying.com/category-93-b0.html
之前版本实现的有问题, 默认是收起键盘,如果想换行需要设置这个参数 confirmHold=“true” 详情请看文档 https://uniapp.dcloud.io/component/textarea.html
更多关于uni-app NVUE textarea无法confirm换行的实战教程也可以访问 https://www.itying.com/category-93-b0.html
旧版本是可以换行的 更新 3.4.6后发现换不了行了 3.4.7问题依旧
vue正常
在 uni-app 中使用 nvue 开发时,textarea 组件的 confirm 事件默认不会触发换行。这是因为 nvue 的 textarea 组件是基于原生组件实现的,其行为与 Web 端的 textarea 有所不同。
如果你希望在按下确认键(如键盘上的“完成”或“回车”键)时实现换行,可以通过以下方式处理:
1. 监听 confirm 事件并手动添加换行符
你可以在 confirm 事件中手动添加换行符(\n)到 textarea 的值中。
<template>
<view>
<textarea
:value="inputValue"
@input="onInput"
@confirm="onConfirm"
placeholder="请输入内容"
></textarea>
</view>
</template>
<script>
export default {
data() {
return {
inputValue: ''
};
},
methods: {
onInput(event) {
this.inputValue = event.detail.value;
},
onConfirm() {
this.inputValue += '\n'; // 手动添加换行符
}
}
};
</script>
2. 使用 blur 事件代替 confirm 事件
如果你希望在用户完成输入后处理内容,可以使用 blur 事件。blur 事件在 textarea 失去焦点时触发。
<template>
<view>
<textarea
:value="inputValue"
@input="onInput"
@blur="onBlur"
placeholder="请输入内容"
></textarea>
</view>
</template>
<script>
export default {
data() {
return {
inputValue: ''
};
},
methods: {
onInput(event) {
this.inputValue = event.detail.value;
},
onBlur() {
// 在这里处理失去焦点后的逻辑
}
}
};
</script>
3. 使用 keyboardheightchange 事件
如果你需要监听键盘高度的变化,可以使用 keyboardheightchange 事件。这个事件在键盘高度变化时触发。
<template>
<view>
<textarea
:value="inputValue"
@input="onInput"
@keyboardheightchange="onKeyboardHeightChange"
placeholder="请输入内容"
></textarea>
</view>
</template>
<script>
export default {
data() {
return {
inputValue: ''
};
},
methods: {
onInput(event) {
this.inputValue = event.detail.value;
},
onKeyboardHeightChange(event) {
console.log('键盘高度变化:', event.detail.height);
}
}
};
</script>
4. 使用 focus 事件
如果你需要在 textarea 获得焦点时执行某些操作,可以使用 focus 事件。
<template>
<view>
<textarea
:value="inputValue"
@input="onInput"
@focus="onFocus"
placeholder="请输入内容"
></textarea>
</view>
</template>
<script>
export default {
data() {
return {
inputValue: ''
};
},
methods: {
onInput(event) {
this.inputValue = event.detail.value;
},
onFocus() {
console.log('textarea 获得焦点');
}
}
};
</script>


