1# @ohos.inputMethodEngine (输入法服务) 2 3本模块面向输入法应用(包括系统输入法应用、三方输入法应用),为输入法应用提供能力,功能包括:创建软键盘窗口、插入/删除字符、选中文本、物理键盘按键事件监听等。 4 5> **说明:** 6> 7>本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11``` 12import inputMethodEngine from '@ohos.inputMethodEngine'; 13``` 14 15## 常量 16 17功能键常量值、编辑框常量值及光标常量值。 18 19**系统能力:** SystemCapability.MiscServices.InputMethodFramework 20 21| 名称 | 类型 | 值 | 说明 | 22| -------- | -------- | -------- | -------- | 23| ENTER_KEY_TYPE_UNSPECIFIED | number | 0 | 无功能键。 | 24| ENTER_KEY_TYPE_GO | number | 2 | “前往”功能键。 | 25| ENTER_KEY_TYPE_SEARCH | number | 3 | “搜索”功能键。 | 26| ENTER_KEY_TYPE_SEND | number | 4 | “发送”功能键。 | 27| ENTER_KEY_TYPE_NEXT | number | 5 | “下一个”功能键。 | 28| ENTER_KEY_TYPE_DONE | number | 6 | “回车”功能键。 | 29| ENTER_KEY_TYPE_PREVIOUS | number | 7 | “前一个”功能键。 | 30| PATTERN_NULL | number | -1 | 无特殊性编辑框。 | 31| PATTERN_TEXT | number | 0 | 文本编辑框。 | 32| PATTERN_NUMBER | number | 2 | 数字编辑框。 | 33| PATTERN_PHONE | number | 3 | 电话号码编辑框。 | 34| PATTERN_DATETIME | number | 4 | 日期编辑框。 | 35| PATTERN_EMAIL | number | 5 | 邮件编辑框。 | 36| PATTERN_URI | number | 6 | 超链接编辑框。 | 37| PATTERN_PASSWORD | number | 7 | 密码编辑框。 | 38| OPTION_ASCII | number | 20 | 允许输入ASCII值。 | 39| OPTION_NONE | number | 0 | 不指定编辑框输入属性。 | 40| OPTION_AUTO_CAP_CHARACTERS | number | 2 | 允许输入字符。 | 41| OPTION_AUTO_CAP_SENTENCES | number | 8 | 允许输入句子。 | 42| OPTION_AUTO_WORDS | number | 4 | 允许输入单词。 | 43| OPTION_MULTI_LINE | number | 1 | 允许输入多行。 | 44| OPTION_NO_FULLSCREEN | number | 10 | 半屏样式。 | 45| FLAG_SELECTING | number | 2 | 编辑框处于选择状态。 | 46| FLAG_SINGLE_LINE | number | 1 | 编辑框为单行。 | 47| DISPLAY_MODE_PART | number | 0 | 编辑框显示为半屏。 | 48| DISPLAY_MODE_FULL | number | 1 | 编辑框显示为全屏。 | 49| CURSOR_UP<sup>9+</sup> | number | 1 | 光标上移。 | 50| CURSOR_DOWN<sup>9+</sup> | number | 2 | 光标下移。 | 51| CURSOR_LEFT<sup>9+</sup> | number | 3 | 光标左移。 | 52| CURSOR_RIGHT<sup>9+</sup> | number | 4 | 光标右移。 | 53| WINDOW_TYPE_INPUT_METHOD_FLOAT<sup>9+</sup> | number | 2105 | 输入法应用窗口风格标识。 | 54 55## inputMethodEngine.getInputMethodAbility<sup>9+</sup> 56 57getInputMethodAbility(): InputMethodAbility 58 59为输入法应用获取输入法应用客户端实例[InputMethodAbility](#inputmethodability)。输入法应用获取该实例可订阅软键盘显示/隐藏请求事件等。 60 61**系统能力:** SystemCapability.MiscServices.InputMethodFramework 62 63**返回值:** 64 65| 类型 | 说明 | 66| ----------------------------------------- | ------------------ | 67| [InputMethodAbility](#inputmethodability) | 输入法应用客户端。 | 68 69**示例:** 70 71```js 72let InputMethodAbility = inputMethodEngine.getInputMethodAbility(); 73``` 74 75## inputMethodEngine.getKeyboardDelegate<sup>9+</sup> 76 77getKeyboardDelegate(): KeyboardDelegate 78 79为输入法应用获取客户端编辑事件监听代理实例[KeyboardDelegate](#keyboarddelegate)。输入法应用获取该实例可订阅物理键盘按键事件、选中文本变化事件等。 80 81**系统能力:** SystemCapability.MiscServices.InputMethodFramework 82 83**返回值:** 84 85| 类型 | 说明 | 86| ------------------------------------- | ------------------------ | 87| [KeyboardDelegate](#keyboarddelegate) | 客户端编辑事件监听代理。 | 88 89**示例:** 90 91```js 92let KeyboardDelegate = inputMethodEngine.getKeyboardDelegate(); 93``` 94 95## inputMethodEngine.getInputMethodEngine<sup>(deprecated)</sup> 96 97getInputMethodEngine(): InputMethodEngine 98 99为输入法应用获取输入法应用客户端实例[InputMethodEngine](#inputmethodengine-1)。输入法应用获取该实例可订阅软键盘显示/隐藏请求事件等。 100 101> **说明:** 102> 103> 从API version 8开始支持,API version 9开始废弃, 建议使用[getInputMethodAbility()](#inputmethodenginegetinputmethodability9)替代。 104 105**系统能力:** SystemCapability.MiscServices.InputMethodFramework 106 107**返回值:** 108 109| 类型 | 说明 | 110| ----------------------------------------- | ------------------ | 111| [InputMethodEngine](#inputmethodengine-1) | 输入法应用客户端。 | 112 113**示例:** 114 115```js 116let InputMethodEngine = inputMethodEngine.getInputMethodEngine(); 117``` 118 119## inputMethodEngine.createKeyboardDelegate<sup>(deprecated)</sup> 120 121createKeyboardDelegate(): KeyboardDelegate 122 123为输入法应用获取客户端编辑事件监听代理实例[KeyboardDelegate](#keyboarddelegate)。输入法应用获取该实例可订阅物理键盘按键事件、选中文本变化事件等。 124 125> **说明:** 126> 127>从API version 8开始支持,API version 9开始废弃, 建议使用[getKeyboardDelegate()](#inputmethodenginegetkeyboarddelegate9)替代。 128 129**系统能力:** SystemCapability.MiscServices.InputMethodFramework 130 131**返回值:** 132 133| 类型 | 说明 | 134| ------------------------------------- | ------------------------ | 135| [KeyboardDelegate](#keyboarddelegate) | 客户端编辑事件监听代理。 | 136 137**示例:** 138 139```js 140let keyboardDelegate = inputMethodEngine.createKeyboardDelegate(); 141``` 142 143## InputMethodEngine 144 145下列API示例中都需使用[getInputMethodEngine](#inputmethodenginegetinputmethodenginedeprecated)回调获取到InputMethodEngine实例,再通过此实例调用对应方法。 146 147### on('inputStart') 148 149on(type: 'inputStart', callback: (kbController: KeyboardController, textInputClient: TextInputClient) => void): void 150 151订阅输入法绑定成功事件。使用callback异步回调。 152 153**系统能力:** SystemCapability.MiscServices.InputMethodFramework 154 155**参数:** 156 157| 参数名 | 类型 | 必填 | 说明 | 158| -------- | ------------------------------- | ---- | ------------------------------------------------------------ | 159| type | string | 是 | 设置监听类型。<br/>- type为‘inputStart’时表示订阅输入法绑定。 | 160| callback | (kbController: [KeyboardController](#keyboardcontroller), textInputClient: [TextInputClient](#textinputclient)) => void | 是 | 回调函数,返回订阅输入法的KeyboardController和TextInputClient实例。 | 161 162**示例:** 163 164```js 165inputMethodEngine.getInputMethodEngine().on('inputStart', (kbController, textClient) => { 166 let keyboardController = kbController; 167 let textInputClient = textClient; 168}); 169``` 170 171### off('inputStart') 172 173off(type: 'inputStart', callback?: (kbController: KeyboardController, textInputClient: TextInputClient) => void): void 174 175取消订阅输入法绑定成功事件。 176 177**系统能力:** SystemCapability.MiscServices.InputMethodFramework 178 179**参数:** 180 181| 参数名 | 类型 | 必填 | 说明 | 182| -------- | -------------------- | ---- | ------------------------ | 183| type | string | 是 | 设置监听类型。<br/>- type为‘inputStart’时表示订阅输入法绑定。 | 184| callback | (kbController: [KeyboardController](#keyboardcontroller), textInputClient: [TextInputClient](#textinputclient)) => void | 否 | 回调函数,返回取消订阅的KeyboardController和TextInputClient实例。 | 185 186**示例:** 187 188```js 189inputMethodEngine.getInputMethodEngine().off('inputStart', (kbController, textInputClient) => { 190 console.log('delete inputStart notification.'); 191}); 192``` 193 194### on('keyboardShow'|'keyboardHide') 195 196on(type: 'keyboardShow'|'keyboardHide', callback: () => void): void 197 198订阅输入法事件。使用callback异步回调。 199 200**系统能力:** SystemCapability.MiscServices.InputMethodFramework 201 202**参数:** 203 204| 参数名 | 类型 | 必填 | 说明 | 205| -------- | ------ | ---- | ------------------------------------------------------------ | 206| type | string | 是 | 设置监听类型。<br/>- type为'keyboardShow',表示订阅输入法显示。<br/>- type为'keyboardHide',表示订阅输入法隐藏。 | 207| callback | () => void | 是 | 回调函数。 | 208 209**示例:** 210 211```js 212inputMethodEngine.getInputMethodEngine().on('keyboardShow', () => { 213 console.log('inputMethodEngine keyboardShow.'); 214}); 215inputMethodEngine.getInputMethodEngine().on('keyboardHide', () => { 216 console.log('inputMethodEngine keyboardHide.'); 217}); 218``` 219 220### off('keyboardShow'|'keyboardHide') 221 222off(type: 'keyboardShow'|'keyboardHide', callback?: () => void): void 223 224取消订阅输入法事件。使用callback异步回调。 225 226**系统能力:** SystemCapability.MiscServices.InputMethodFramework 227 228**参数:** 229 230| 参数名 | 类型 | 必填 | 说明 | 231| -------- | ------ | ---- | ------------------------------------------------------------ | 232| type | string | 是 | 设置监听类型。<br/>- type为'keyboardShow',表示订阅输入法显示。<br/>- type为'keyboardHide',表示订阅输入法隐藏。 | 233| callback | () => void | 否 | 回调函数。 | 234 235**示例:** 236 237```js 238inputMethodEngine.getInputMethodEngine().off('keyboardShow'); 239inputMethodEngine.getInputMethodEngine().off('keyboardHide'); 240``` 241 242## InputMethodAbility 243 244下列API示例中都需使用[getInputMethodAbility](#inputmethodenginegetinputmethodability9)回调获取到InputMethodAbility实例,再通过此实例调用对应方法。 245 246### on('inputStart')<sup>9+</sup> 247 248on(type: 'inputStart', callback: (kbController: KeyboardController, inputClient: InputClient) => void): void 249 250订阅输入法绑定成功事件。使用callback异步回调。 251 252**系统能力:** SystemCapability.MiscServices.InputMethodFramework 253 254**参数:** 255 256| 参数名 | 类型 | 必填 | 说明 | 257| -------- | ------------------------------- | ---- | ------------------------------------------------------------ | 258| type | string | 是 | 设置监听类型。<br/>- type为‘inputStart’时表示订阅输入法绑定。 | 259| callback | (kbController: [KeyboardController](#keyboardcontroller), inputClient: [InputClient](#inputclient9)) => void | 是 | 回调函数,返回输入法操作相关实例。 | 260 261**示例:** 262 263```js 264inputMethodEngine.getInputMethodAbility().on('inputStart', (kbController, client) => { 265 let keyboardController = kbController; 266 let inputClient = client; 267}); 268``` 269 270### off('inputStart')<sup>9+</sup> 271 272off(type: 'inputStart', callback?: (kbController: KeyboardController, inputClient: InputClient) => void): void 273 274取消订阅输入法绑定成功事件。使用callback异步回调。 275 276**系统能力:** SystemCapability.MiscServices.InputMethodFramework 277 278**参数:** 279 280| 参数名 | 类型 | 必填 | 说明 | 281| -------- | -------------------- | ---- | ------------------------ | 282| type | string | 是 | 设置监听类型。<br/>- type为‘inputStart’时表示订阅输入法绑定。 | 283| callback | (kbController: [KeyboardController](#keyboardcontroller), inputClient: [InputClient](#inputclient9)) => void | 否 | 回调函数,返回输入法操作相关实例。 | 284 285**示例:** 286 287```js 288inputMethodEngine.getInputMethodAbility().off('inputStart'); 289``` 290 291### on('inputStop')<sup>9+</sup> 292 293on(type: 'inputStop', callback: () => void): void 294 295订阅停止输入法应用事件。使用callback异步回调。 296 297**系统能力:** SystemCapability.MiscServices.InputMethodFramework 298 299**参数:** 300 301| 参数名 | 类型 | 必填 | 说明 | 302| -------- | ------ | ---- | ------------------------------------------------------------ | 303| type | string | 是 | 设置监听类型。<br/>- type为‘inputStop’时表示订阅停止输入法应用事件。 | 304| callback | () => void | 是 | 回调函数。 | 305 306**示例:** 307 308```js 309inputMethodEngine.getInputMethodAbility().on('inputStop', () => { 310 console.log('inputMethodAbility inputStop'); 311}); 312``` 313 314### off('inputStop')<sup>9+</sup> 315 316off(type: 'inputStop', callback: () => void): void 317 318取消订阅停止输入法应用事件。使用callback异步回调。 319 320**系统能力:** SystemCapability.MiscServices.InputMethodFramework 321 322**参数:** 323 324| 参数名 | 类型 | 必填 | 说明 | 325| -------- | ------ | ---- | ------------------------------------------------------------ | 326| type | string | 是 | 设置监听类型。<br/>- type为‘inputStop’时表示订阅停止输入法应用事件。 | 327| callback | () => void | 是 | 回调函数。 | 328 329**示例:** 330 331```js 332inputMethodEngine.getInputMethodAbility().off('inputStop', () => { 333 console.log('inputMethodAbility delete inputStop notification.'); 334}); 335``` 336 337### on('setCallingWindow')<sup>9+</sup> 338 339on(type: 'setCallingWindow', callback: (wid: number) => void): void 340 341订阅设置调用窗口事件。使用callback异步回调。 342 343**系统能力:** SystemCapability.MiscServices.InputMethodFramework 344 345**参数:** 346 347| 参数名 | 类型 | 必填 | 说明 | 348| -------- | ------ | ---- | ------------------------------------------------------------ | 349| type | string | 是 | 设置监听类型。<br/>- type为‘setCallingWindow’时表示订阅设置调用窗口事件。 | 350| callback | (wid: number) => void | 是 | 回调函数,返回调用方window id。 | 351 352**示例:** 353 354```js 355inputMethodEngine.getInputMethodAbility().on('setCallingWindow', (wid) => { 356 console.log('inputMethodAbility setCallingWindow'); 357}); 358``` 359 360### off('setCallingWindow')<sup>9+</sup> 361 362off(type: 'setCallingWindow', callback: (wid:number) => void): void 363 364取消订阅设置调用窗口事件。使用callback异步回调。 365 366**系统能力:** SystemCapability.MiscServices.InputMethodFramework 367 368**参数:** 369 370| 参数名 | 类型 | 必填 | 说明 | 371| -------- | ------ | ---- | ------------------------------------------------------------ | 372| type | string | 是 | 设置监听类型。<br/>- type为‘setCallingWindow’时表示订阅设置调用窗口事件。 | 373| callback | (wid:number) => void | 是 | 回调函数,返回调用方window id。 | 374 375**示例:** 376 377```js 378inputMethodEngine.getInputMethodAbility().off('setCallingWindow', () => { 379 console.log('inputMethodAbility delete setCallingWindow notification.'); 380}); 381``` 382 383### on('keyboardShow'|'keyboardHide')<sup>9+</sup> 384 385on(type: 'keyboardShow'|'keyboardHide', callback: () => void): void 386 387订阅输入法事件。使用callback异步回调。 388 389**系统能力:** SystemCapability.MiscServices.InputMethodFramework 390 391**参数:** 392 393| 参数名 | 类型 | 必填 | 说明 | 394| -------- | ------ | ---- | ------------------------------------------------------------ | 395| type | string | 是 | 设置监听类型。<br/>- type为'keyboardShow',表示订阅显示键盘事件。<br/>- type为'keyboardHide',表示订阅隐藏键盘事件。 | 396| callback | () => void | 是 | 回调函数。 | 397 398**示例:** 399 400```js 401inputMethodEngine.getInputMethodAbility().on('keyboardShow', () => { 402 console.log('InputMethodAbility keyboardShow.'); 403}); 404inputMethodEngine.getInputMethodAbility().on('keyboardHide', () => { 405 console.log('InputMethodAbility keyboardHide.'); 406}); 407``` 408 409### off('keyboardShow'|'keyboardHide')<sup>9+</sup> 410 411off(type: 'keyboardShow'|'keyboardHide', callback?: () => void): void 412 413取消订阅输入法事件。使用callback异步回调。 414 415**系统能力:** SystemCapability.MiscServices.InputMethodFramework 416 417**参数:** 418 419| 参数名 | 类型 | 必填 | 说明 | 420| -------- | ------ | ---- | ------------------------------------------------------------ | 421| type | string | 是 | 设置监听类型。<br/>- type为'keyboardShow',表示取消订阅显示键盘事件。<br/>- type为'keyboardHide',表示取消订阅隐藏键盘事件。 | 422| callback | () => void | 否 | 回调函数。 | 423 424**示例:** 425 426```js 427inputMethodEngine.getInputMethodAbility().off('keyboardShow', () => { 428 console.log('InputMethodAbility delete keyboardShow notification.'); 429}); 430inputMethodEngine.getInputMethodAbility().off('keyboardHide', () => { 431 console.log('InputMethodAbility delete keyboardHide notification.'); 432}); 433``` 434 435### on('setSubtype')<sup>9+</sup> 436 437on(type: 'setSubtype', callback: (inputMethodSubtype: InputMethodSubtype) => void): void 438 439订阅设置输入法子类型事件。使用callback异步回调。 440 441**系统能力:** SystemCapability.MiscServices.InputMethodFramework 442 443**参数:** 444 445| 参数名 | 类型 | 必填 | 说明 | 446| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 447| type | string | 是 | 设置监听类型。<br/>- type为'setSubtype',表示订阅输入法子类型的设置事件。 | 448| callback | (inputMethodSubtype: [InputMethodSubtype](js-apis-inputmethod-subtype.md)) => void | 是 | 回调函数,返回设置的输入法子类型。 | 449 450**示例:** 451 452```js 453inputMethodEngine.getInputMethodAbility().on('setSubtype', (inputMethodSubtype) => { 454 console.log('InputMethodAbility setSubtype.'); 455}); 456``` 457 458### off('setSubtype')<sup>9+</sup> 459 460off(type: 'setSubtype', callback?: (inputMethodSubtype: InputMethodSubtype) => void): void 461 462取消订阅输入法子类型事件。使用callback异步回调。 463 464**系统能力:** SystemCapability.MiscServices.InputMethodFramework 465 466**参数:** 467 468| 参数名 | 类型 | 必填 | 说明 | 469| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 470| type | string | 是 | 设置监听类型。<br/>- type为'setSubtype',表示取消订阅输入法子类型的设置事件。 | 471| callback | (inputMethodSubtype: [InputMethodSubtype](js-apis-inputmethod-subtype.md)) => void | 否 | 回调函数,返回设置的输入法子类型。 | 472 473**示例:** 474 475```js 476inputMethodEngine.getInputMethodAbility().off('setSubtype', () => { 477 console.log('InputMethodAbility delete setSubtype notification.'); 478}); 479``` 480 481## KeyboardDelegate 482 483下列API示例中都需使用[getKeyboardDelegate](#inputmethodenginegetkeyboarddelegate9)回调获取到KeyboardDelegate实例,再通过此实例调用对应方法。 484 485### on('keyDown'|'keyUp') 486 487on(type: 'keyDown'|'keyUp', callback: (event: KeyEvent) => boolean): void 488 489订阅硬键盘(即物理键盘)事件。使用callback异步回调。 490 491**系统能力:** SystemCapability.MiscServices.InputMethodFramework 492 493**参数:** 494 495| 参数名 | 类型 | 必填 | 说明 | 496| -------- | ------------------------------- | ---- | ------------------------------------------------------------ | 497| type | string | 是 | 设置监听类型。<br/>- type为'keyDown',表示订阅硬键盘按下事件。<br/>- type为'keyUp',表示订阅硬键盘抬起事件。 | 498| callback | (event: [KeyEvent](#keyevent)) => boolean | 是 | 回调函数,返回按键信息。 | 499 500**示例:** 501 502```js 503inputMethodEngine.getKeyboardDelegate().on('keyUp', (keyEvent) => { 504 console.info('inputMethodEngine keyCode.(keyUp):' + JSON.stringify(keyEvent.keyCode)); 505 console.info('inputMethodEngine keyAction.(keyUp):' + JSON.stringify(keyEvent.keyAction)); 506 return true; 507}); 508inputMethodEngine.getKeyboardDelegate().on('keyDown', (keyEvent) => { 509 console.info('inputMethodEngine keyCode.(keyDown):' + JSON.stringify(keyEvent.keyCode)); 510 console.info('inputMethodEngine keyAction.(keyDown):' + JSON.stringify(keyEvent.keyAction)); 511 return true; 512}); 513``` 514 515### off('keyDown'|'keyUp') 516 517off(type: 'keyDown'|'keyUp', callback?: (event: KeyEvent) => boolean): void 518 519取消订阅硬键盘(即物理键盘)事件。使用callback异步回调。 520 521**系统能力:** SystemCapability.MiscServices.InputMethodFramework 522 523**参数:** 524 525| 参数名 | 类型 | 必填 | 说明 | 526| -------- | ----------------------------------------- | ---- | ------------------------------------------------------------ | 527| type | string | 是 | 设置监听类型。<br/>- type为'keyDown',表示取消订阅硬键盘按下事件。<br/>- type为'keyUp',表示取消订阅硬键盘抬起事件。 | 528| callback | (event: [KeyEvent](#keyevent)) => boolean | 否 | 回调函数,返回按键信息。 | 529 530**示例:** 531 532```js 533inputMethodEngine.getKeyboardDelegate().off('keyUp', (keyEvent) => { 534 console.log('delete keyUp notification.'); 535 return true; 536}); 537inputMethodEngine.getKeyboardDelegate().off('keyDown', (keyEvent) => { 538 console.log('delete keyDown notification.'); 539 return true; 540}); 541``` 542 543### on('cursorContextChange') 544 545on(type: 'cursorContextChange', callback: (x: number, y:number, height:number) => void): void 546 547订阅光标变化事件。使用callback异步回调。 548 549**系统能力:** SystemCapability.MiscServices.InputMethodFramework 550 551**参数:** 552 553| 参数名 | 类型 | 必填 | 说明 | 554| -------- | ---------------------------------------------- | ---- | ------------------------------------------------------------ | 555| type | string | 是 | 光标变化事件。<br/>- type为’cursorContextChange‘时,表示订阅光标变化事件。 | 556| callback | (x: number, y: number, height: number) => void | 是 | 回调函数,返回光标信息。<br/>- x为光标上端的的x坐标值。<br/>- y为光标上端的y坐标值。<br/>- height为光标的高度值。 | 557 558**示例:** 559 560```js 561inputMethodEngine.getKeyboardDelegate().on('cursorContextChange', (x, y, height) => { 562 console.log('inputMethodEngine cursorContextChange x:' + x); 563 console.log('inputMethodEngine cursorContextChange y:' + y); 564 console.log('inputMethodEngine cursorContextChange height:' + height); 565}); 566``` 567 568### off('cursorContextChange') 569 570off(type: 'cursorContextChange', callback?: (x: number, y: number, height: number) => void): void 571 572取消订阅光标变化事件。使用callback异步回调。 573 574**系统能力:** SystemCapability.MiscServices.InputMethodFramework 575 576 **参数:** 577 578| 参数名 | 类型 | 必填 | 说明 | 579| -------- | -------------------------------------------- | ---- | ------------------------------------------------------------ | 580| type | string | 是 | 光标变化事件。<br/>- type为’cursorContextChange‘时,表示光标变化。 | 581| callback | (x: number, y:number, height:number) => void | 否 | 回调函数,返回光标信息。<br/>- x为光标上端的的x坐标值。<br/>- y为光标上端的y坐标值。<br/>- height为光标的高度值。<br/> | 582 583 584 **示例:** 585 586```js 587inputMethodEngine.getKeyboardDelegate().off('cursorContextChange', (x, y, height) => { 588 console.log('delete cursorContextChange notification.'); 589}); 590``` 591### on('selectionChange') 592 593on(type: 'selectionChange', callback: (oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void): void 594 595订阅文本选择变化事件。使用callback异步回调。 596 597**系统能力:** SystemCapability.MiscServices.InputMethodFramework 598 599**参数:** 600 601| 参数名 | 类型 | 必填 | 说明 | 602| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 603| type | string | 是 | 文本选择变化事件。<br/>- type为’selectionChange‘时,表示选择文本变化。 | 604| callback | (oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void | 是 | 回调函数,返回文本选择信息。<br/>- oldBegin为变化之前被选中文本的起始下标。<br/>- oldEnd为变化之前被选中文本的终止下标。<br/>- newBegin为变化之后被选中文本的起始下标。<br/>- newEnd为变化之后被选中文本的终止下标。 | 605 606**示例:** 607 608```js 609inputMethodEngine.getKeyboardDelegate().on('selectionChange', (oldBegin, oldEnd, newBegin, newEnd) => { 610 console.log('inputMethodEngine beforeEach selectionChange oldBegin:' + oldBegin); 611 console.log('inputMethodEngine beforeEach selectionChange oldEnd:' + oldEnd); 612 console.log('inputMethodEngine beforeEach selectionChange newBegin:' + newBegin); 613 console.log('inputMethodEngine beforeEach selectionChange newEnd:' + newEnd); 614}); 615``` 616 617### off('selectionChange') 618 619off(type: 'selectionChange', callback?: (oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void): void 620 621取消订阅文本选择变化事件。使用callback异步回调。 622 623**系统能力:** SystemCapability.MiscServices.InputMethodFramework 624 625**参数:** 626 627| 参数名 | 类型 | 必填 | 说明 | 628| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 629| type | string | 是 | 文本选择变化事件。<br/>- type为’selectionChange‘时,表示选择文本变化。 | 630| callback | (oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void | 否 | 回调函数,返回文本选择信息。<br/>- oldBegin为变化之前被选中文本的起始下标。<br/>- oldEnd为变化之前被选中文本的终止下标。<br/>- newBegin为变化之后被选中文本的起始下标。<br/>- newEnd为变化之后被选中文本的终止下标。<br/> | 631 632**示例:** 633 634```js 635inputMethodEngine.getKeyboardDelegate().off('selectionChange', (oldBegin, oldEnd, newBegin, newEnd) => { 636 console.log('delete selectionChange notification.'); 637}); 638``` 639 640 641### on('textChange') 642 643on(type: 'textChange', callback: (text: string) => void): void 644 645订阅文本变化事件。使用callback异步回调。 646 647**系统能力:** SystemCapability.MiscServices.InputMethodFramework 648 649**参数:** 650 651| 参数名 | 类型 | 必填 | 说明 | 652| -------- | ------ | ---- | ------------------------------------------------------------ | 653| type | string | 是 | 文本变化事件。<br/>- type为’textChange‘时,表示订阅文本变化事件。 | 654| callback | (text: string) => void | 是 | 回调函数,返回订阅的文本内容。 | 655 656**示例:** 657 658```js 659inputMethodEngine.getKeyboardDelegate().on('textChange', (text) => { 660 console.log('inputMethodEngine textChange. text:' + text); 661}); 662``` 663 664### off('textChange') 665 666off(type: 'textChange', callback?: (text: string) => void): void 667 668取消订阅文本变化事件。使用callback异步回调。 669 670**系统能力:** SystemCapability.MiscServices.InputMethodFramework 671 672**参数:** 673 674| 参数名 | 类型 | 必填 | 说明 | 675| -------- | ------ | ---- | ------------------------------------------------------------ | 676| type | string | 是 | 文本变化事件。<br/>- type为’textChange‘时,表示取消订阅文本变化事件。 | 677| callback | (text: string) => void | 否 | 回调函数,返回取消订阅的文本内容。 | 678 679**示例:** 680 681```js 682inputMethodEngine.getKeyboardDelegate().off('textChange', (text) => { 683 console.log('delete textChange notification. text:' + text); 684}); 685``` 686 687## KeyboardController 688 689下列API示例中都需使用[on('inputStart')](#oninputstart9)回调获取到KeyboardController实例,再通过此实例调用对应方法。 690 691### hide<sup>9+</sup> 692 693hide(callback: AsyncCallback<void>): void 694 695隐藏输入法。使用callback异步回调。 696 697**系统能力:** SystemCapability.MiscServices.InputMethodFramework 698 699**参数:** 700 701| 参数名 | 类型 | 必填 | 说明 | 702| -------- | ---------------------- | ---- | -------- | 703| callback | AsyncCallback<void> | 是 | 回调函数。当输入法隐藏成功,err为undefined,否则为错误对象。 | 704 705**错误码:** 706 707以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 708 709| 错误码ID | 错误信息 | 710| -------- | -------------------------- | 711| 12800003 | input method client error. | 712 713**示例:** 714 715```js 716keyboardController.hide((err) => { 717 if (err !== undefined) { 718 console.error('Failed to hide keyboard: ' + JSON.stringify(err)); 719 return; 720 } 721 console.log('Succeeded in hiding keyboard.'); 722}); 723``` 724 725### hide<sup>9+</sup> 726 727hide(): Promise<void> 728 729隐藏输入法。使用promise异步回调。 730 731**系统能力:** SystemCapability.MiscServices.InputMethodFramework 732 733**返回值:** 734 735| 类型 | 说明 | 736| ---------------- | ------------------------- | 737| Promise<void> | 无返回结果的Promise对象。 | 738 739**错误码:** 740 741以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 742 743| 错误码ID | 错误信息 | 744| -------- | -------------------------- | 745| 12800003 | input method client error. | 746 747**示例:** 748 749```js 750keyboardController.hide().then(() => { 751 console.info('Succeeded in hiding keyboard.'); 752}).catch((err) => { 753 console.info('Failed to hide keyboard: ' + JSON.stringify(err)); 754}); 755``` 756 757### hideKeyboard<sup>(deprecated)</sup> 758 759hideKeyboard(callback: AsyncCallback<void>): void 760 761隐藏输入法。使用callback异步回调。 762 763> **说明:** 764> 765> 从API version 8开始支持,API version 9开始废弃, 建议使用[hide](#hide9)替代。 766 767**系统能力:** SystemCapability.MiscServices.InputMethodFramework 768 769**参数:** 770 771| 参数名 | 类型 | 必填 | 说明 | 772| -------- | ---------------------- | ---- | -------- | 773| callback | AsyncCallback<void> | 是 | 回调函数。当输入法隐藏成功,err为undefined,否则为错误对象。 | 774 775**示例:** 776 777```js 778keyboardController.hideKeyboard((err) => { 779 if (err !== undefined) { 780 console.error('Failed to hide Keyboard: ' + JSON.stringify(err)); 781 return; 782 } 783 console.log('Succeeded in hiding keyboard.'); 784}); 785``` 786 787### hideKeyboard<sup>(deprecated)</sup> 788 789hideKeyboard(): Promise<void> 790 791隐藏输入法。使用promise异步回调。 792 793> **说明:** 794> 795> 从API version 8开始支持,API version 9开始废弃, 建议使用[hide](#hide9-1)替代。 796 797**系统能力:** SystemCapability.MiscServices.InputMethodFramework 798 799**返回值:** 800 801| 类型 | 说明 | 802| ---------------- | ------------------------- | 803| Promise<void> | 无返回结果的Promise对象。 | 804 805**示例:** 806 807```js 808keyboardController.hideKeyboard().then(() => { 809 console.info('Succeeded in hiding keyboard.'); 810}).catch((err) => { 811 console.info('Failed to hide Keyboard: ' + JSON.stringify(err)); 812}); 813``` 814 815## InputClient<sup>9+</sup> 816 817下列API示例中都需使用[on('inputStart')](#oninputstart9)回调获取到InputClient实例,再通过此实例调用对应方法。 818 819### sendKeyFunction<sup>9+</sup> 820 821sendKeyFunction(action:number, callback: AsyncCallback<boolean>): void 822 823发送功能键。使用callback异步回调。 824 825**系统能力:** SystemCapability.MiscServices.InputMethodFramework 826 827 **参数:** 828 829| 参数名 | 类型 | 必填 | 说明 | 830| -------- | -------- | -------- | -------- | 831| action | number | 是 | 功能键键值。<br/>当值为0时,表示无效按键;<br/>当值为1时,表示确认键(即回车键)。 | 832| callback | AsyncCallback<boolean> | 是 | 回调函数。当功能键发送成功,err为undefined,data为true;否则为错误对象。 | 833 834**错误码:** 835 836以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 837 838| 错误码ID | 错误信息 | 839| -------- | -------------------------- | 840| 12800003 | input method client error. | 841 842 **示例:** 843 844```js 845let action = 1; 846try { 847 inputClient.sendKeyFunction(action, (err, result) => { 848 if (err !== undefined) { 849 console.error('Failed to sendKeyFunction: ' + JSON.stringify(err)); 850 return; 851 } 852 if (result) { 853 console.info('Succeeded in sending key function. '); 854 } else { 855 console.error('Failed to sendKeyFunction. '); 856 } 857 }); 858} catch (err) { 859 console.error('sendKeyFunction err: ' + JSON.stringify(err)); 860} 861``` 862 863### sendKeyFunction<sup>9+</sup> 864 865sendKeyFunction(action: number): Promise<boolean> 866 867发送功能键。使用promise异步回调。 868 869**系统能力:** SystemCapability.MiscServices.InputMethodFramework 870 871**参数:** 872 873| 参数名 | 类型 | 必填 | 说明 | 874| -------- | -------- | -------- | -------- | 875| action | number | 是 | 功能键键值。<br/>当值为0时,表示无效按键;<br/>当值为1时,表示确认键(即回车键)。 | 876 877**返回值:** 878 879| 类型 | 说明 | 880| ------------------------------- | ------------------------------------------------------------ | 881| Promise<boolean> | Promise对象。返回true表示功能键发送成功;返回false表示功能键发送失败。| 882 883**错误码:** 884 885以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 886 887| 错误码ID | 错误信息 | 888| -------- | -------------------------- | 889| 12800003 | input method client error. | 890 891**示例:** 892 893```js 894let action = 1; 895try { 896 inputClient.sendKeyFunction(action).then((result) => { 897 if (result) { 898 console.info('Succeeded in sending key function. '); 899 } else { 900 console.error('Failed to sendKeyFunction. '); 901 } 902 }).catch((err) => { 903 console.error('Failed to sendKeyFunction:' + JSON.stringify(err)); 904 }); 905} catch (err) { 906 console.error('Failed to sendKeyFunction: ' + JSON.stringify(err)); 907} 908``` 909 910### getForward<sup>9+</sup> 911 912getForward(length:number, callback: AsyncCallback<string>): void 913 914获取光标前固定长度的文本。使用callback异步回调。 915 916**系统能力:** SystemCapability.MiscServices.InputMethodFramework 917 918**参数:** 919 920| 参数名 | 类型 | 必填 | 说明 | 921| -------- | -------- | -------- | -------- | 922| length | number | 是 | 文本长度。 | 923| callback | AsyncCallback<string> | 是 | 回调函数。当光标前固定长度的文本获取成功,err为undefined,data为获取到的文本;否则为错误对象。 | 924 925**错误码:** 926 927以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 928 929| 错误码ID | 错误信息 | 930| -------- | ------------------------------ | 931| 12800003 | input method client error. | 932| 12800006 | Input method controller error. | 933 934**示例:** 935 936```js 937let length = 1; 938try { 939 inputClient.getForward(length, (err, text) => { 940 if (err !== undefined) { 941 console.error('Failed to getForward: ' + JSON.stringify(err)); 942 return; 943 } 944 console.log('Succeeded in getting forward, text: ' + text); 945 }); 946} catch (err) { 947 console.error('Failed to getForward: ' + JSON.stringify(err)); 948} 949``` 950 951### getForward<sup>9+</sup> 952 953getForward(length:number): Promise<string> 954 955获取光标前固定长度的文本。使用promise异步回调。 956 957**系统能力:** SystemCapability.MiscServices.InputMethodFramework 958 959**参数:** 960 961| 参数名 | 类型 | 必填 | 说明 | 962| -------- | -------- | -------- | -------- | 963| length | number | 是 | 文本长度。 | 964 965**返回值:** 966 967| 类型 | 说明 | 968| ------------------------------- | ------------------------------------------------------------ | 969| Promise<string> | Promise对象,返回光标前固定长度的文本。 | 970 971**错误码:** 972 973以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 974 975| 错误码ID | 错误信息 | 976| -------- | ------------------------------ | 977| 12800003 | input method client error. | 978| 12800006 | Input method controller error. | 979 980**示例:** 981 982```js 983let length = 1; 984try { 985 inputClient.getForward(length).then((text) => { 986 console.info('Succeeded in getting forward, text: ' + text); 987 }).catch((err) => { 988 console.error('Failed to getForward: ' + JSON.stringify(err)); 989 }); 990} catch (err) { 991 console.error('Failed to getForward: ' + JSON.stringify(err)); 992} 993``` 994 995### getBackward<sup>9+</sup> 996 997getBackward(length:number, callback: AsyncCallback<string>): void 998 999获取光标后固定长度的文本。使用callback异步回调。 1000 1001**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1002 1003**参数:** 1004 1005| 参数名 | 类型 | 必填 | 说明 | 1006| -------- | -------- | -------- | -------- | 1007| length | number | 是 | 文本长度。 | 1008| callback | AsyncCallback<string> | 是 | 回调函数。当光标后固定长度的文本获取成功,err为undefined,data为获取到的文本;否则为错误对象。| 1009 1010**错误码:** 1011 1012以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 1013 1014| 错误码ID | 错误信息 | 1015| -------- | ------------------------------ | 1016| 12800003 | input method client error. | 1017| 12800006 | Input method controller error. | 1018 1019**示例:** 1020 1021```js 1022let length = 1; 1023try { 1024 inputClient.getBackward(length, (err, text) => { 1025 if (err !== undefined) { 1026 console.error('Failed to getForward: ' + JSON.stringify(err)); 1027 return; 1028 } 1029 console.log('Succeeded in getting backward, text: ' + text); 1030 }); 1031} catch (err) { 1032 console.error('Failed to getForward: ' + JSON.stringify(err)); 1033} 1034``` 1035 1036### getBackward<sup>9+</sup> 1037 1038getBackward(length:number): Promise<string> 1039 1040获取光标后固定长度的文本。使用promise异步回调。 1041 1042**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1043 1044**参数:** 1045 1046| 参数名 | 类型 | 必填 | 说明 | 1047| -------- | -------- | -------- | -------- | 1048| length | number | 是 | 文本长度。 | 1049 1050**返回值:** 1051 1052| 类型 | 说明 | 1053| ------------------------------- | ------------------------------------------------------------ | 1054| Promise<string> | Promise对象,返回光标后固定长度的文本。 | 1055 1056**错误码:** 1057 1058以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 1059 1060| 错误码ID | 错误信息 | 1061| -------- | ------------------------------ | 1062| 12800003 | input method client error. | 1063| 12800006 | Input method controller error. | 1064 1065**示例:** 1066 1067```js 1068let length = 1; 1069try { 1070 inputClient.getBackward(length).then((text) => { 1071 console.info('Succeeded in getting backward, text: ' + text); 1072 }).catch((err) => { 1073 console.error('Failed to getForward: ' + JSON.stringify(err)); 1074 }); 1075} catch (err) { 1076 console.error('Failed to getForward: ' + JSON.stringify(err)); 1077} 1078``` 1079 1080### deleteForward<sup>9+</sup> 1081 1082deleteForward(length:number, callback: AsyncCallback<boolean>): void 1083 1084删除光标前固定长度的文本。使用callback异步回调。 1085 1086**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1087 1088**参数:** 1089 1090| 参数名 | 类型 | 必填 | 说明 | 1091| -------- | -------- | -------- | -------- | 1092| length | number | 是 | 文本长度。 | 1093| callback | AsyncCallback<boolean> | 是 | 回调函数。当光标前固定长度的文本删除成功,err为undefined,data为true;否则为错误对象。 | 1094 1095**错误码:** 1096 1097以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 1098 1099| 错误码ID | 错误信息 | 1100| -------- | -------------------------- | 1101| 12800002 | Input method engine error. | 1102| 12800003 | input method client error. | 1103 1104**示例:** 1105 1106```js 1107let length = 1; 1108try { 1109 inputClient.deleteForward(length, (err, result) => { 1110 if (err !== undefined) { 1111 console.error('Failed to delete forward: ' + JSON.stringify(err)); 1112 return; 1113 } 1114 if (result) { 1115 console.info('Succeeded in deleting forward. '); 1116 } else { 1117 console.error('Failed to delete forward: ' + JSON.stringify(err)); 1118 } 1119 }); 1120} catch (err) { 1121 console.error('Failed to delete forward: ' + JSON.stringify(err)); 1122} 1123``` 1124 1125### deleteForward<sup>9+</sup> 1126 1127deleteForward(length:number): Promise<boolean> 1128 1129删除光标前固定长度的文本。使用promise异步回调。 1130 1131**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1132 1133**参数:** 1134 1135| 参数名 | 类型 | 必填 | 说明 | 1136| ------ | ------ | ---- | ---------- | 1137| length | number | 是 | 文本长度。 | 1138 1139**返回值:** 1140 1141| 类型 | 说明 | 1142| ---------------------- | -------------- | 1143| Promise<boolean> | Promise对象。返回true表示删除光标前固定长度的文本成功;返回false表示删除光标前固定长度的文本失败。| 1144 1145**错误码:** 1146 1147以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 1148 1149| 错误码ID | 错误信息 | 1150| -------- | -------------------------- | 1151| 12800002 | Input method engine error. | 1152| 12800003 | input method client error. | 1153 1154**示例:** 1155 1156```js 1157let length = 1; 1158try { 1159 inputClient.deleteForward(length).then((result) => { 1160 if (result) { 1161 console.info('Succeeded in deleting forward. '); 1162 } else { 1163 console.error('Failed to delete Forward. '); 1164 } 1165 }).catch((err) => { 1166 console.error('Failed to delete Forward: ' + JSON.stringify(err)); 1167 }); 1168} catch (err) { 1169 console.error('Failed to delete Forward: ' + JSON.stringify(err)); 1170} 1171``` 1172 1173### deleteBackward<sup>9+</sup> 1174 1175deleteBackward(length:number, callback: AsyncCallback<boolean>): void 1176 1177删除光标后固定长度的文本。使用callback异步回调。 1178 1179**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1180 1181**参数:** 1182 1183| 参数名 | 类型 | 必填 | 说明 | 1184| -------- | ---------------------------- | ---- | -------------- | 1185| length | number | 是 | 文本长度。 | 1186| callback | AsyncCallback<boolean> | 是 | 回调函数。当光标后固定长度的文本删除成功,err为undefined,data为true;否则为错误对象。 | 1187 1188**错误码:** 1189 1190以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 1191 1192| 错误码ID | 错误信息 | 1193| -------- | -------------------------- | 1194| 12800002 | Input method engine error. | 1195| 12800003 | input method client error. | 1196 1197**示例:** 1198 1199```js 1200let length = 1; 1201try { 1202 inputClient.deleteBackward(length, (err, result) => { 1203 if (err !== undefined) { 1204 console.error('Failed to delete Backward: ' + JSON.stringify(err)); 1205 return; 1206 } 1207 if (result) { 1208 console.info('Succeeded in deleting backward. '); 1209 } else { 1210 console.error('Failed to delete Backward: ' + JSON.stringify(err)); 1211 } 1212 }); 1213} catch (err) { 1214 console.error('deleteBackward err: ' + JSON.stringify(err)); 1215} 1216``` 1217 1218### deleteBackward<sup>9+</sup> 1219 1220deleteBackward(length:number): Promise<boolean> 1221 1222删除光标后固定长度的文本。使用callback异步回调。 1223 1224**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1225 1226**参数:** 1227 1228| 参数名 | 类型 | 必填 | 说明 | 1229| -------- | -------- | -------- | -------- | 1230| length | number | 是 | 文本长度。 | 1231 1232**返回值:** 1233 1234| 类型 | 说明 | 1235| ------------------------------- | ------------------------------------------------------------ | 1236| Promise<boolean> | Promise对象。返回true表示删除光标后固定长度的文本成功;返回false表示删除光标后固定长度的文本失败。 | 1237 1238**错误码:** 1239 1240以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 1241 1242| 错误码ID | 错误信息 | 1243| -------- | -------------------------- | 1244| 12800002 | Input method engine error. | 1245| 12800003 | input method client error. | 1246 1247**示例:** 1248 1249```js 1250let length = 1; 1251inputClient.deleteBackward(length).then((result) => { 1252 if (result) { 1253 console.info('Succeeded in deleting backward. '); 1254 } else { 1255 console.error('Failed to deleteBackward. '); 1256 } 1257}).catch((err) => { 1258 console.error('Failed to deleteBackward: ' + JSON.stringify(err)); 1259}); 1260``` 1261 1262### insertText<sup>9+</sup> 1263 1264insertText(text:string, callback: AsyncCallback<boolean>): void 1265 1266插入文本。使用callback异步回调。 1267 1268**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1269 1270**参数:** 1271 1272| 参数名 | 类型 | 必填 | 说明 | 1273| -------- | -------- | -------- | -------- | 1274| text | string | 是 | 文本。 | 1275| callback | AsyncCallback<boolean> | 是 | 回调函数。当文本插入成功,err为undefined,data为true;否则为错误对象。 | 1276 1277**错误码:** 1278 1279以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 1280 1281| 错误码ID | 错误信息 | 1282| -------- | -------------------------- | 1283| 12800002 | Input method engine error. | 1284| 12800003 | input method client error. | 1285 1286**示例:** 1287 1288```js 1289inputClient.insertText('test', (err, result) => { 1290 if (err !== undefined) { 1291 console.error('Failed to insertText: ' + JSON.stringify(err)); 1292 return; 1293 } 1294 if (result) { 1295 console.info('Succeeded in inserting text. '); 1296 } else { 1297 console.error('Failed to insertText. '); 1298 } 1299}); 1300``` 1301 1302### insertText<sup>9+</sup> 1303 1304insertText(text:string): Promise<boolean> 1305 1306插入文本。使用promise异步回调。 1307 1308**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1309 1310**参数:** 1311 1312| 参数名 | 类型 | 必填 | 说明 | 1313| -------- | -------- | -------- | -------- | 1314| text | string | 是 | 文本。 | 1315 1316**返回值:** 1317 1318| 类型 | 说明 | 1319| ------------------------------- | ------------------------------------------------------------ | 1320| Promise<boolean> | Promise对象。返回true表示插入文本成功;返回false表示插入文本失败。 | 1321 1322**错误码:** 1323 1324以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 1325 1326| 错误码ID | 错误信息 | 1327| -------- | -------------------------- | 1328| 12800002 | Input method engine error. | 1329| 12800003 | input method client error. | 1330 1331**示例:** 1332 1333```js 1334try { 1335 inputClient.insertText('test').then((result) => { 1336 if (result) { 1337 console.info('Succeeded in inserting text. '); 1338 } else { 1339 console.error('Failed to insertText. '); 1340 } 1341 }).catch((err) => { 1342 console.error('Failed to insertText: ' + JSON.stringify(err)); 1343 }); 1344} catch (err) { 1345 console.error('Failed to insertText: ' + JSON.stringify(err)); 1346} 1347``` 1348 1349### getEditorAttribute<sup>9+</sup> 1350 1351getEditorAttribute(callback: AsyncCallback<EditorAttribute>): void 1352 1353获取编辑框属性值。使用callback异步回调。 1354 1355**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1356 1357**参数:** 1358 1359| 参数名 | 类型 | 必填 | 说明 | 1360| ------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | 1361| callback | AsyncCallback<[EditorAttribute](#editorattribute)> | 是 | 回调函数。当编辑框属性值获取成功,err为undefined,data为编辑框属性值;否则为错误对象。| 1362 1363**错误码:** 1364 1365以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 1366 1367| 错误码ID | 错误信息 | 1368| -------- | -------------------------- | 1369| 12800003 | input method client error. | 1370 1371**示例:** 1372 1373```js 1374inputClient.getEditorAttribute((err, editorAttribute) => { 1375 if (err !== undefined) { 1376 console.error('Failed to getEditorAttribute: ' + JSON.stringify(err)); 1377 return; 1378 } 1379 console.log('editorAttribute.inputPattern: ' + JSON.stringify(editorAttribute.inputPattern)); 1380 console.log('editorAttribute.enterKeyType: ' + JSON.stringify(editorAttribute.enterKeyType)); 1381}); 1382``` 1383 1384### getEditorAttribute<sup>9+</sup> 1385 1386getEditorAttribute(): Promise<EditorAttribute> 1387 1388获取编辑框属性值。使用promise异步回调。 1389 1390**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1391 1392**返回值:** 1393 1394| 类型 | 说明 | 1395| ------------------------------- | ------------------------------------------------------------ | 1396| Promise<[EditorAttribute](#editorattribute)> | Promise对象,返回编辑框属性值。 | 1397 1398**错误码:** 1399 1400以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 1401 1402| 错误码ID | 错误信息 | 1403| -------- | -------------------------- | 1404| 12800003 | input method client error. | 1405 1406**示例:** 1407 1408```js 1409inputClient.getEditorAttribute().then((editorAttribute) => { 1410 console.info('editorAttribute.inputPattern: ' + JSON.stringify(editorAttribute.inputPattern)); 1411 console.info('editorAttribute.enterKeyType: ' + JSON.stringify(editorAttribute.enterKeyType)); 1412}).catch((err) => { 1413 console.error('Failed to getEditorAttribute: ' + JSON.stringify(err)); 1414}); 1415``` 1416 1417### moveCursor<sup>9+</sup> 1418 1419moveCursor(direction: number, callback: AsyncCallback<void>): void 1420 1421移动光标。使用callback异步回调。 1422 1423**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1424 1425**参数:** 1426 1427| 参数名 | 类型 | 必填 | 说明 | 1428| --------- | ------------------------- | ---- | -------------- | 1429| direction | number | 是 | 光标移动方向。 | 1430| callback | AsyncCallback<void> | 是 | 回调函数。当光标移动成功,err为undefined,否则为错误对象。 | 1431 1432**错误码:** 1433 1434以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 1435 1436| 错误码ID | 错误信息 | 1437| -------- | -------------------------- | 1438| 12800003 | input method client error. | 1439 1440**示例:** 1441 1442```js 1443try { 1444 inputClient.moveCursor(inputMethodEngine.CURSOR_UP, (err) => { 1445 if (err !== undefined) { 1446 console.error('Failed to moveCursor: ' + JSON.stringify(err)); 1447 return; 1448 } 1449 console.info('Succeeded in moving cursor.'); 1450 }); 1451} catch (err) { 1452 console.error('Failed to moveCursor: ' + JSON.stringify(err)); 1453} 1454``` 1455 1456### moveCursor<sup>9+</sup> 1457 1458moveCursor(direction: number): Promise<void> 1459 1460移动光标。使用promise异步回调。 1461 1462**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1463 1464**参数:** 1465 1466| 参数名 | 类型 | 必填 | 说明 | 1467| --------- | ------ | ---- | -------------- | 1468| direction | number | 是 | 光标移动方向。 | 1469 1470**返回值:** 1471 1472| 类型 | 说明 | 1473| ------------------- | ------------------------- | 1474| Promise<void> | 无返回结果的Promise对象。 | 1475 1476**错误码:** 1477 1478以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 1479 1480| 错误码ID | 错误信息 | 1481| -------- | -------------------------- | 1482| 12800003 | input method client error. | 1483 1484**示例:** 1485 1486```js 1487try { 1488 inputClient.moveCursor(inputMethodEngine.CURSOR_UP).then(() => { 1489 console.log('Succeeded in moving cursor.'); 1490 }).catch((err) => { 1491 console.error('Failed to moveCursor: ' + JSON.stringify(err)); 1492 }); 1493} catch (err) { 1494 console.log('Failed to moveCursor: ' + JSON.stringify(err)); 1495} 1496``` 1497 1498## EditorAttribute 1499 1500编辑框属性值。 1501 1502**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1503 1504| 名称 | 类型 | 可读 | 可写 | 说明 | 1505| ------------ | -------- | ---- | ---- | ------------------ | 1506| enterKeyType | number | 是 | 否 | 编辑框的功能属性。 | 1507| inputPattern | number | 是 | 否 | 编辑框的文本属性。 | 1508 1509## KeyEvent 1510 1511按键属性值。 1512 1513**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1514 1515| 名称 | 类型 | 可读 | 可写 | 说明 | 1516| --------- | -------- | ---- | ---- | ------------ | 1517| keyCode | number | 是 | 否 | 按键的键值。 | 1518| keyAction | number | 是 | 否 | 按键的状态。 | 1519 1520## TextInputClient<sup>(deprecated)</sup> 1521 1522> **说明:** 1523> 1524> 从API version 8开始支持,API version 9开始废弃, 建议使用[InputClient](#inputclient9)替代。 1525 1526下列API示例中都需使用[on('inputStart')](#oninputstart)回调获取到TextInputClient实例,再通过此实例调用对应方法。 1527 1528### getForward<sup>(deprecated)</sup> 1529 1530getForward(length:number, callback: AsyncCallback<string>): void 1531 1532获取光标前固定长度的文本。使用callback异步回调。 1533 1534> **说明:** 1535> 1536> 从API version 8开始支持,API version 9开始废弃, 建议使用[getForward](#getforward9)替代。 1537 1538**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1539 1540**参数:** 1541 1542| 参数名 | 类型 | 必填 | 说明 | 1543| -------- | -------- | -------- | -------- | 1544| length | number | 是 | 文本长度。 | 1545| callback | AsyncCallback<string> | 是 | 回调函数。当光标前固定长度的文本获取成功,err为undefined,data为获取到的文本;否则为错误对象。| 1546 1547**示例:** 1548 1549```js 1550let length = 1; 1551textInputClient.getForward(length, (err, text) => { 1552 if (err !== undefined) { 1553 console.error('Failed to getForward: ' + JSON.stringify(err)); 1554 return; 1555 } 1556 console.log('Succeeded in getting forward, text: ' + text); 1557}); 1558``` 1559 1560### getForward<sup>(deprecated)</sup> 1561 1562getForward(length:number): Promise<string> 1563 1564获取光标前固定长度的文本。使用promise异步回调。 1565 1566> **说明:** 1567> 1568> 从API version 8开始支持,API version 9开始废弃, 建议使用[getForward](#getforward9)替代。 1569 1570**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1571 1572**参数:** 1573 1574| 参数名 | 类型 | 必填 | 说明 | 1575| -------- | -------- | -------- | -------- | 1576| length | number | 是 | 文本长度。 | 1577 1578**返回值:** 1579 1580| 类型 | 说明 | 1581| ------------------------------- | ------------------------------------------------------------ | 1582| Promise<string> | Promise对象,返回光标前固定长度的文本。 | 1583 1584**示例:** 1585 1586```js 1587let length = 1; 1588textInputClient.getForward(length).then((text) => { 1589 console.info('Succeeded in getting forward, text: ' + text); 1590}).catch((err) => { 1591 console.error('Failed to getForward: ' + JSON.stringify(err)); 1592}); 1593``` 1594 1595### getBackward<sup>(deprecated)</sup> 1596 1597getBackward(length:number, callback: AsyncCallback<string>): void 1598 1599获取光标后固定长度的文本。使用callback异步回调。 1600 1601> **说明:** 1602> 1603> 从API version 8开始支持,API version 9开始废弃, 建议使用[getBackward](#getbackward9)替代。 1604 1605**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1606 1607**参数:** 1608 1609| 参数名 | 类型 | 必填 | 说明 | 1610| -------- | -------- | -------- | -------- | 1611| length | number | 是 | 文本长度。 | 1612| callback | AsyncCallback<string> | 是 | 回调函数。当光标后固定长度的文本获取成功,err为undefined,data为获取到的文本;否则为错误对象。 | 1613 1614**示例:** 1615 1616```js 1617let length = 1; 1618textInputClient.getBackward(length, (err, text) => { 1619 if (err !== undefined) { 1620 console.error('Failed to getBackward: ' + JSON.stringify(err)); 1621 return; 1622 } 1623 console.log('Succeeded in getting borward, text: ' + text); 1624}); 1625``` 1626 1627### getBackward<sup>(deprecated)</sup> 1628 1629getBackward(length:number): Promise<string> 1630 1631获取光标后固定长度的文本。使用promise异步回调。 1632 1633> **说明:** 1634> 1635> 从API version 8开始支持,API version 9开始废弃, 建议使用[getBackward](#getbackward9)替代。 1636 1637**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1638 1639**参数:** 1640 1641| 参数名 | 类型 | 必填 | 说明 | 1642| -------- | -------- | -------- | -------- | 1643| length | number | 是 | 文本长度。 | 1644 1645**返回值:** 1646 1647| 类型 | 说明 | 1648| ------------------------------- | ------------------------------------------------------------ | 1649| Promise<string> | Promise对象,返回光标后固定长度的文本。 | 1650 1651**示例:** 1652 1653```js 1654let length = 1; 1655textInputClient.getBackward(length).then((text) => { 1656 console.info('Succeeded in getting backward: ' + JSON.stringify(text)); 1657}).catch((err) => { 1658 console.error('Failed to getBackward: ' + JSON.stringify(err)); 1659}); 1660``` 1661 1662### deleteForward<sup>(deprecated)</sup> 1663 1664deleteForward(length:number, callback: AsyncCallback<boolean>): void 1665 1666删除光标前固定长度的文本。使用callback异步回调。 1667 1668> **说明:** 1669> 1670> 从API version 8开始支持,API version 9开始废弃, 建议使用[deleteForward](#deleteforward9)替代。 1671 1672**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1673 1674**参数:** 1675 1676| 参数名 | 类型 | 必填 | 说明 | 1677| -------- | -------- | -------- | -------- | 1678| length | number | 是 | 文本长度。 | 1679| callback | AsyncCallback<boolean> | 是 | 回调函数。当光标前固定长度的文本删除成功,err为undefined,data为true;否则为错误对象。 | 1680 1681**示例:** 1682 1683```js 1684let length = 1; 1685textInputClient.deleteForward(length, (err, result) => { 1686 if (err !== undefined) { 1687 console.error('Failed to deleteForward: ' + JSON.stringify(err)); 1688 return; 1689 } 1690 if (result) { 1691 console.info('Succeeded in deleting forward. '); 1692 } else { 1693 console.error('Failed to deleteForward. '); 1694 } 1695}); 1696``` 1697 1698### deleteForward<sup>(deprecated)</sup> 1699 1700deleteForward(length:number): Promise<boolean> 1701 1702删除光标前固定长度的文本。使用promise异步回调。 1703 1704> **说明:** 1705> 1706> 从API version 8开始支持,API version 9开始废弃, 建议使用[deleteForward](#deleteforward9)替代。 1707 1708**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1709 1710**参数:** 1711 1712| 参数名 | 类型 | 必填 | 说明 | 1713| ------ | ------ | ---- | ---------- | 1714| length | number | 是 | 文本长度。 | 1715 1716**返回值:** 1717 1718| 类型 | 说明 | 1719| ---------------------- | -------------- | 1720| Promise<boolean> | Promise对象。返回true表示删除光标前固定长度的文本成功;返回false表示删除光标前固定长度的文本失败。| 1721 1722**示例:** 1723 1724```js 1725let length = 1; 1726textInputClient.deleteForward(length).then((result) => { 1727 if (result) { 1728 console.info('Succeeded in deleting forward. '); 1729 } else { 1730 console.error('Failed to delete forward. '); 1731 } 1732}).catch((err) => { 1733 console.error('Failed to delete forward: ' + JSON.stringify(err)); 1734}); 1735``` 1736 1737### deleteBackward<sup>(deprecated)</sup> 1738 1739deleteBackward(length:number, callback: AsyncCallback<boolean>): void 1740 1741删除光标后固定长度的文本。使用callback异步回调。 1742 1743> **说明:** 1744> 1745> 从API version 8开始支持,API version 9开始废弃, 建议使用[deleteBackward](#deletebackward9)替代。 1746 1747**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1748 1749 **参数:** 1750 1751| 参数名 | 类型 | 必填 | 说明 | 1752| -------- | ---------------------------- | ---- | -------------- | 1753| length | number | 是 | 文本长度。 | 1754| callback | AsyncCallback<boolean> | 是 | 回调函数。当光标后固定长度的文本删除成功,err为undefined,data为true;否则为错误对象。| 1755 1756 **示例:** 1757 1758```js 1759let length = 1; 1760textInputClient.deleteBackward(length, (err, result) => { 1761 if (err !== undefined) { 1762 console.error('Failed to delete backward: ' + JSON.stringify(err)); 1763 return; 1764 } 1765 if (result) { 1766 console.info('Succeeded in deleting backward. '); 1767 } else { 1768 console.error('Failed to deleteBackward. '); 1769 } 1770}); 1771``` 1772 1773### deleteBackward<sup>(deprecated)</sup> 1774 1775deleteBackward(length:number): Promise<boolean> 1776 1777删除光标后固定长度的文本。使用callback异步回调。 1778 1779> **说明:** 1780> 1781> 从API version 8开始支持,API version 9开始废弃, 建议使用[deleteBackward](#deletebackward9)替代。 1782 1783**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1784 1785**参数:** 1786 1787| 参数名 | 类型 | 必填 | 说明 | 1788| -------- | -------- | -------- | -------- | 1789| length | number | 是 | 文本长度。 | 1790 1791**返回值:** 1792 1793| 类型 | 说明 | 1794| ------------------------------- | ------------------------------------------------------------ | 1795| Promise<boolean> | Promise对象。返回true表示删除光标后固定长度的文本成功;返回false表示删除光标后固定长度的文本失败。| 1796 1797**示例:** 1798 1799```js 1800let length = 1; 1801textInputClient.deleteBackward(length).then((result) => { 1802 if (result) { 1803 console.info('Succeeded in deleting backward. '); 1804 } else { 1805 console.error('Failed to deleteBackward. '); 1806 } 1807}).catch((err) => { 1808 console.error('Failed to deleteBackward: ' + JSON.stringify(err)); 1809}); 1810``` 1811### sendKeyFunction<sup>(deprecated)</sup> 1812 1813sendKeyFunction(action: number, callback: AsyncCallback<boolean>): void 1814 1815发送功能键。使用callback异步回调。 1816 1817> **说明:** 1818> 1819> 从API version 8开始支持,API version 9开始废弃, 建议使用[sendKeyFunction](#sendkeyfunction9)替代。 1820 1821**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1822 1823 **参数:** 1824 1825| 参数名 | 类型 | 必填 | 说明 | 1826| -------- | -------- | -------- | -------- | 1827| action | number | 是 | 功能键键值。<br/>当值为0时,表示无效按键;<br/>当值为1时,表示确认键(即回车键)。 | 1828| callback | AsyncCallback<boolean> | 是 | 回调函数。当功能键发送成功,err为undefined,data为true;否则为错误对象。 | 1829 1830 **示例:** 1831 1832```js 1833let action = 1; 1834textInputClient.sendKeyFunction(action, (err, result) => { 1835 if (err !== undefined) { 1836 console.error('Failed to sendKeyFunction: ' + JSON.stringify(err)); 1837 return; 1838 } 1839 if (result) { 1840 console.info('Succeeded in sending key function. '); 1841 } else { 1842 console.error('Failed to sendKeyFunction. '); 1843 } 1844}); 1845``` 1846 1847### sendKeyFunction<sup>(deprecated)</sup> 1848 1849sendKeyFunction(action: number): Promise<boolean> 1850 1851发送功能键。使用promise异步回调。 1852 1853> **说明:** 1854> 1855> 从API version 8开始支持,API version 9开始废弃, 建议使用[sendKeyFunction](#sendkeyfunction9)替代。 1856 1857**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1858 1859**参数:** 1860 1861| 参数名 | 类型 | 必填 | 说明 | 1862| -------- | -------- | -------- | -------- | 1863| action | number | 是 | 功能键键值。<br/>当值为0时,表示无效按键;<br/>当值为1时,表示确认键(即回车键)。 | 1864 1865**返回值:** 1866 1867| 类型 | 说明 | 1868| ------------------------------- | ------------------------------------------------------------ | 1869| Promise<boolean> | Promise对象。返回true表示发送功能键成功;返回false表示发送功能键失败。 | 1870 1871**示例:** 1872 1873```js 1874let action = 1; 1875textInputClient.sendKeyFunction(action).then((result) => { 1876 if (result) { 1877 console.info('Succeeded in sending key function. '); 1878 } else { 1879 console.error('Failed to sendKeyFunction. '); 1880 } 1881}).catch((err) => { 1882 console.error('Failed to sendKeyFunction:' + JSON.stringify(err)); 1883}); 1884``` 1885 1886### insertText<sup>(deprecated)</sup> 1887 1888insertText(text:string, callback: AsyncCallback<boolean>): void 1889 1890插入文本。使用callback异步回调。 1891 1892> **说明:** 1893> 1894> 从API version 8开始支持,API version 9开始废弃, 建议使用[insertText](#inserttext9)替代。 1895 1896**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1897 1898**参数:** 1899 1900| 参数名 | 类型 | 必填 | 说明 | 1901| -------- | -------- | -------- | -------- | 1902| text | string | 是 | 文本。 | 1903| callback | AsyncCallback<boolean> | 是 | 回调函数。当文本插入成功,err为undefined,data为true;否则为错误对象。 | 1904 1905**示例:** 1906 1907```js 1908textInputClient.insertText('test', (err, result) => { 1909 if (err !== undefined) { 1910 console.error('Failed to insertText: ' + JSON.stringify(err)); 1911 return; 1912 } 1913 if (result) { 1914 console.info('Succeeded in inserting text. '); 1915 } else { 1916 console.error('Failed to insertText. '); 1917 } 1918}); 1919``` 1920 1921### insertText<sup>(deprecated)</sup> 1922 1923insertText(text:string): Promise<boolean> 1924 1925插入文本。使用promise异步回调。 1926 1927> **说明:** 1928> 1929> 从API version 8开始支持,API version 9开始废弃, 建议使用[insertText](#inserttext9)替代。 1930 1931**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1932 1933**参数:** 1934 1935| 参数名 | 类型 | 必填 | 说明 | 1936| -------- | -------- | -------- | -------- | 1937| text | string | 是 | 文本。 | 1938 1939**返回值:** 1940 1941| 类型 | 说明 | 1942| ------------------------------- | ------------------------------------------------------------ | 1943| Promise<boolean> | Promise对象。返回true表示插入文本成功;返回false表示插入文本失败。 | 1944 1945**示例:** 1946 1947```js 1948textInputClient.insertText('test').then((result) => { 1949 if (result) { 1950 console.info('Succeeded in inserting text. '); 1951 } else { 1952 console.error('Failed to insertText. '); 1953 } 1954}).catch((err) => { 1955 console.error('Failed to insertText: ' + JSON.stringify(err)); 1956}); 1957``` 1958 1959### getEditorAttribute<sup>(deprecated)</sup> 1960 1961getEditorAttribute(callback: AsyncCallback<EditorAttribute>): void 1962 1963获取编辑框属性值。使用callback异步回调。 1964 1965> **说明:** 1966> 1967> 从API version 8开始支持,API version 9开始废弃, 建议使用[getEditorAttribute](#geteditorattribute9)替代。 1968 1969**系统能力:** SystemCapability.MiscServices.InputMethodFramework 1970 1971**参数:** 1972 1973| 参数名 | 类型 | 必填 | 说明 | 1974| ------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | 1975| callback | AsyncCallback<[EditorAttribute](#editorattribute)> | 是 | 回调函数。当编辑框的属性值获取成功,err为undefined,data为编辑框属性值;否则为错误对象。| 1976 1977**示例:** 1978 1979```js 1980textInputClient.getEditorAttribute((err, editorAttribute) => { 1981 if (err !== undefined) { 1982 console.error('Failed to getEditorAttribute: ' + JSON.stringify(err)); 1983 return; 1984 } 1985 console.log('editorAttribute.inputPattern: ' + JSON.stringify(editorAttribute.inputPattern)); 1986 console.log('editorAttribute.enterKeyType: ' + JSON.stringify(editorAttribute.enterKeyType)); 1987}); 1988``` 1989 1990### getEditorAttribute<sup>(deprecated)</sup> 1991 1992getEditorAttribute(): Promise<EditorAttribute> 1993 1994获取编辑框属性值。使用promise异步回调。 1995 1996> **说明:** 1997> 1998> 从API version 8开始支持,API version 9开始废弃, 建议使用[getEditorAttribute](#geteditorattribute9)替代。 1999 2000**系统能力:** SystemCapability.MiscServices.InputMethodFramework 2001 2002**返回值:** 2003 2004| 类型 | 说明 | 2005| ------------------------------- | ------------------------------------------------------------ | 2006| Promise<[EditorAttribute](#editorattribute)> | Promise对象,返回编辑框属性值。 | 2007 2008**示例:** 2009 2010```js 2011textInputClient.getEditorAttribute().then((editorAttribute) => { 2012 console.info('editorAttribute.inputPattern: ' + JSON.stringify(editorAttribute.inputPattern)); 2013 console.info('editorAttribute.enterKeyType: ' + JSON.stringify(editorAttribute.enterKeyType)); 2014}).catch((err) => { 2015 console.error('Failed to getEditorAttribute: ' + JSON.stringify(err)); 2016}); 2017``` 2018