SMART_KEYBOARD
API_LEVEL
4.0开始支持,API 兼容性请参考 API_LEVEL。
创建系统级输入键盘,支持多种输入模式。
创建键盘控件
import { createKeyboard, inputType } from '@zos/ui'
const keyboard = createKeyboard({
// 必要参数
inputType: inputType.NUM,
onComplete: (keyboardWidget, result) => {
/* 输入完成处理 */
},
onCancel: (keyboardWidget, result) => {
/* 取消输入处理 */
},
// 可选参数
text: '初始文本'
})
类型说明
Param: object
| 属性 | 说明 | 是否必须 | 类型 | 版本 |
|---|---|---|---|---|
| inputType | 输入类型,参考 inputType 枚举 | 是 | number | 4.0 |
| onComplete | 输入完成回调,用户确认时触发 | 是 | function | 4.0 |
| onCancel | 取消输入回调,右滑或按返回键时触发 | 是 | function | 4.0 |
| text | 初始编辑文本 | 否 | string | 4.0 |
| onClick | 点击事件回调(暂未开放) | 否 | function | 4.0 |
| selection | 快捷回复选项(暂未开放) | 否 | array | 4.0 |
inputType 枚举
| 值 | 说明 |
|---|---|
| inputType.EMOJI | EMOJI 表情 |
| inputType.NUM | 数字键盘 |
| inputType.CHAR | 字符键盘 |
| inputType.VOICE | 语音输入 |
| inputType.SELECT | 快捷回复选择 |
方法说明
deleteKeyboard()
退出并销毁当前键盘输入界面
import { deleteKeyboard } from '@zos/ui'
deleteKeyboard()
代码示例
import { createKeyboard, inputType, deleteKeyboard } from '@zos/ui'
Page({
onInit() {
this.createKeyboard()
},
createKeyboard() {
createKeyboard({
inputType: inputType.NUM,
onComplete: (_, result) => {
console.log('输入内容:', result.data)
this.destroyKeyboard()
},
onCancel: (_, result) => {
console.log('取消输入')
this.destroyKeyboard()
},
text: '100' // 初始化文本
})
},
destroyKeyboard() {
deleteKeyboard()
// 执行返回页面等后续操作...
}
})
注意事项
- 键盘控件为系统级组件,不支持通过
setProperty修改属性 - 每次页面切换需主动调用
deleteKeyboard销毁实例 - 语音输入功能需要设备硬件支持