输入法
{ "name": "blueos.service.inputMethod" }import inputmethod from '@blueos.service.inputMethod' 或 const inputmethod = require('@blueos.service.inputMethod')inputmethod.setInput()
Section titled “inputmethod.setInput()”输入法应用向页面的 组件写入数据,仅输入法应用才会用到此功能
| 属性 | 类型 | 说明 |
|---|---|---|
| value | String | 输入法录入的数据 |
无
inputmethod.setInput({ value: 'hello vivo watch',})如何调起输入法
Section titled “如何调起输入法”1. 选择输入法类型
Section titled “1. 选择输入法类型”input 组件 type 属性可以控制拉起输入法类型
- text: 手写输入法
- speak: 语音输入法
<template> <input type="text" value="inputValue" onchange="textChange" /></template><script> export default { data: { inputValue: '', }, textChange({ value }) { this.inputValue = value }, }</script>2.禁止 input 输入法自动拉起
Section titled “2.禁止 input 输入法自动拉起”若调用者仅需要展示文本,而不希望自动拉起输入法,可以在 input 组件上设置属性 readonly="readonly"
<template> <input type="text" value="inputValue" readonly="readonly" /></template><script> export default { data: { inputValue: 'hello', }, }</script>3.任意组件拉起输入法
Section titled “3.任意组件拉起输入法”- 增加类型为
text或者speak的input组件,并将其隐藏show="false",input组件位置可以是任意的。 input组件的change事件回调用于调用者接收输入法返回的数据。- 在其他需要调用输入法的组件的
click事件中调用input组件的focus方法 - 若有多个组件需要启动输入法,只需要新增一个
input组件,在对应的组件的click方法中标识是哪个组件拉起输入法。
<template> <div> <text onclick="btnClick">{{inputValue}}</text> <input show="false" id="ipt" type="text" onchange="textChange" /> </div></template><script> export default { data: { inputValue: '', }, textChange({ value }) { this.inputValue = value }, btnClick() { this.$element('ipt').focus() }, }</script>