5.13 input组件

交互式组件,包括单选框,多选框,按钮和单行文本输入框。

 

支持设备

手机

平板

智慧屏

智能穿戴

支持

支持

支持

支持

子组件

不支持。

 

属性

除支持通用属性外,还支持如下属性:

名称

类型

默认值

必填

描述

type

string

text

input组件类型,可选值为text,email,date,time,number,password,button,checkbox,radio。

其中text,email,date,time,number,password这六种类型之间支持动态切换修改。

button,checkbox,radio不支持动态修改。可选值定义如下:

  • button:定义可点击的按钮;
  • checkbox:定义多选框;
  • radio:定义单选按钮,允许在多个拥有相同name值的选项中选中其中一个;
  • text:定义一个单行的文本字段
  • email:定义用于e-mail地址的字段;
  • date:定义 date 控件(包括年、月、日,不包括时间);
  • time:定义用于输入时间的控件(不带时区);
  • number:定义用于输入数字的字段;
  • password:定义密码字段(字段中的字符会被遮蔽)。

    说明

    智能穿戴仅支持button、radio、checkbox类型。

checked

boolean

false

当前组件是否选中,仅type为checkbox和radio生效。

name

string

-

input组件的名称。

value

string

-

input组件的value值,当类型为radio时必填且相同name值的选项该值唯一。

placeholder

string

-

设置提示文本的内容,仅在type为text|email|date|time|number|password时生效。

maxlength

number

-

输入框可输入的最多字符数量,不填表示不限制输入框中字符数量。

enterkeytype

string

default

不支持动态修改。

设置软键盘Enter按钮的类型,可选值为:

  • default:默认
  • next:下一项
  • go:前往
  • done:完成
  • send:发送
  • search:搜索

说明

除“next”外,点击后会自动收起软键盘。

headericon

string

-

在文本输入前的图标资源路径,该图标不支持点击事件(button,checkbox和radio不生效),图标格式为jpg,png和svg。

showcounter5+

boolean

false

文本输入框是否显示计数下标,需要配合maxlength一起使用。

menuoptions5+

Array<MenuOption>

-

设置文本选择弹框点击更多按钮之后显示的菜单项。

autofocus6+

boolean

false

是否自动获焦。

说明

应用首页中设置不生效,可在onActive中延迟(100-500ms左右)调用focus方法实现输入框在首页中自动获焦。

selectedstart6+

number

-1

开始选择文本时初始选择位置。

selectedend6+

number

-1

开始选择文本时结尾选择位置。

softkeyboardenabled6+

boolean

true

编辑时是否弹出系统软键盘。

showpasswordicon6+

boolean

true

是否显示密码框末尾的图标(仅type为password时生效)。

表1 MenuOption5+

名称

类型

描述

icon

string

菜单选项中的图标路径。

content

string

菜单选项中的文本内容。

样式

除支持通用样式外,还支持如下样式:

名称

类型

默认值

必填

描述

color

<color>

手机:#e6000000

智慧屏:#e6ffffff

单行输入框或者按钮的文本颜色。

font-size

<length>

手机:16px

智慧屏:18px

单行输入框或者按钮的文本尺寸。

allow-scale

boolean

true

单行输入框或者按钮的文本尺寸是否跟随系统设置字体缩放尺寸进行放大缩小。

说明

如果在config描述文件中针对ability配置了fontSize的config-changes标签,则应用不会重启而直接生效。

placeholder-color

<color>

手机:#99000000

智慧屏:#99ffffff

单行输入框的提示文本的颜色,type为text|email|date|time|number|password时生效。

font-weight

number | string

normal

单行输入框或者按钮的字体粗细,见text组件font-weight的样式属性

caret-color6+

<color>

-

设置输入光标的颜色。

事件

除支持通用事件外,还支持如下事件:

  • 当input类型为text、email、date、time、number、password时,支持如下事件:

    名称

    参数

    描述

    change

    { value:inputValue }

    输入框输入内容发生变化时触发该事件,返回用户当前输入值。

    说明

    改变value属性值不会触发该回调。

    enterkeyclick

    { value:enterKey }

    软键盘enter键点击后触发该事件,返回enter按钮的类型,enterKey类型为number,可选值为:

    • 2:设置enterkeytype属性为go时生效。
    • 3:设置enterkeytype属性为search时生效。
    • 4:设置enterkeytype属性为send时生效。
    • 5:设置enterkeytype属性为next时生效。
    • 6:不设置enterkeytype或者设置enterkeytype属性为default、done时生效。

    translate5+

    { value: selectedText }

    设置此事件后,进行文本选择操作后文本选择弹窗会出现翻译按钮,点击翻译按钮之后,触发该回调,返回选中的文本内容。

    share5+

    { value: selectedText }

    设置此事件后,进行文本选择操作后文本选择弹窗会出现分享按钮,点击分享按钮之后,触发该回调,返回选中的文本内容。

    search5+

    { value: selectedText }

    设置此事件后,进行文本选择操作后文本选择弹窗会出现搜索按钮,点击搜索按钮之后,触发该回调,返回选中的文本内容。

    optionselect5+

    { index:optionIndex, value: selectedText }

    文本选择弹窗中设置menuoptions属性后,用户在文本选择操作后,点击菜单项后触发该回调,返回点击的菜单项序号和选中的文本内容。

    selectchange6+

    { start: number,end: number }

    文本选择变化时触发事件。

  • 当input类型为checkbox、radio时,支持如下事件:

    名称

    参数

    描述

    change

    { checked:true | false }

    checkbox多选框或radio单选框的checked状态发生变化时触发该事件。

方法

除支持通用方法外,还支持如下方法:

名称

参数

描述

focus

{ focus: true|false },focus不传默认为true。

使组件获得或者失去焦点,type为text|email|date|time|number|password时,可弹出或收起输入法。

showError

{ error: string }

展示输入错误提示,type为text|email|date|time|number|password时生效。

delete6+

-

type为text|email|date|time|number|password时,根据当前光标位置删除文本内容,如果当前输入组件没有光标,默认删除最后一个字符并展示光标。

示例

html

<div class="containe">

    <text class="title">输入框</text><!--输入框类-->
    <div class="input-item"><!--输入框的div大容器-->
        <div class="color">
            <text class="input-title">文本</text><!--输入框前面的提示文字-->
            <input class="input" type="text" placeholder="请输入文本"></input><!--类型为文本框,placeholder设置提示文本的内容,
            placeholder仅在type为text|email|date|time|number|password时生效,当输入有文本时消失-->
        </div>
    </div>

    <div class="input-item">
        <div class="color">
            <text class="length-title input-title">最大长度</text>
            <input class="input" type="text" placeholder="最长输入20个字符" maxlength="20" showcounter="true"></input>
            <!--maxlength可输入的最多字符数量,不填表示不限制   showcounter显示计数下标,需要配合maxlength一起使用。为false时表现与文本输入一样-->
        </div><!-- -->
    </div>

    <div class="input-item">
        <div class="color">
            <text class="input-title">邮箱</text>
            <input class="input" type="email" placeholder="请输入邮箱"></input><!-- email定义用于e-mail地址的字段-->
        </div>
    </div>

    <div class="input-item">
        <div class="color">
            <text class="input-title">日期</text>
            <input class="input" type="date" placeholder="如:2021-11-27"></input>
        <!-- 定义 date 控件(包括年、月、日,不包括时间)-->
        </div>
    </div>

    <div class="input-item">
        <div class="color">
            <text class="input-title">时间</text>
            <input class="input" type="time" placeholder="如:9:32"></input>
        <!-- time:定义用于输入时间的控件(不带时区)-->
        </div>
    </div>

    <div class="input-item">
        <div class="color">
            <text class="input-title">数字</text>
            <input class="input" type="number" placeholder="请输入数字"></input>
        <!--number:定义用于输入数字的字段,此时只能输入数字 -->
        </div>
    </div>

    <div class="input-item">
        <div class="color">
            <text class="input-title">密码</text>
            <input class="input" type="password" placeholder="请输入密码" showpasswordicon="false"></input>
        <!--password:定义密码字段(字段中的字符会被遮蔽)  showpasswordicon是否显示密码框末尾的图标,用来查看输入的密码判断是否和输入的一样-->
        </div>
    </div>

    <div class="input-item">
        <div class="color">
            <text class="message-title input-title">短信验证码</text>
            <input class="message-input" type="number" placeholder="请输入验证码"></input>
        <!-- -->
            <input class="message-button" type="button" value="发送验证码"></input>
        <!-- -->
        </div>
    </div>

    <text class="title">选择框基础用法</text><!-- -->
    <div class="input-item">
        <div class="color">
            <text class="input-title">复选框类型</text><!-- -->
            <div class="checkbox-div">
                <input class="checkbox" type="checkbox" checked="false" onchange="checkboxOnChange"></input>
            <!--checkbox:定义多选框   checked当前组件是否选中,仅type为checkbox和radio生效。默认false   onchange事件会在域的内容改变时发生
( 在元素值改变时触发)  onchange介绍网址https://blog.csdn.net/youth99dream/article/details/52050826?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165243034916781683990062%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165243034916781683990062&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-52050826-null-null.142^v9^control,157^v4^control&utm_term=onchange%E4%BA%8B%E4%BB%B6%E7%9A%84%E7%94%A8%E6%B3%95&spm=1018.2226.3001.4187-->
                <input class="checkbox" type="checkbox" checked="true" onchange="checkboxOnChange"></input>
            <!-- -->
            </div>
        </div>
    </div>
    <div class="input-item">
        <div class="color">
            <text class="input-title">单选按钮类型</text>
            <div class="radio-div">
                <input class="radio" type="radio" checked='false' name="radio" value="radio1" onchange="onRadioChange('radio1')"></input>
                <!--value当类型为radio时必填且相同name值的选项该值唯一。 -->
                <input class="radio" type="radio" checked='true' name="radio" value="radio2" onchange="onRadioChange('radio2')"></input>
            </div>
        </div>
    </div>

    <text class="title">选择框禁用用法</text>
    <div class="input-item">
        <div class="color">
            <text class="input-title">复选框类型</text>
            <div class="checkbox-div">
                <input class="checkbox" type="checkbox" checked="false" onchange="checkboxOnChange" disabled="true"></input>
            <!-- disabled当前组件是否被禁用,在禁用场景下,组件将无法响应用户交互。-->
                <input class="checkbox" type="checkbox" checked="true" onchange="checkboxOnChange" disabled="true"></input>
            </div>
        </div>
    </div>
    <div class="input-item">
        <div class="color">
            <text class="input-title">单选按钮类型</text>
            <div class="radio-div">
                <input class="radio" type="radio" checked='false' name="radioSample" disabled="true"></input>
            <!-- disabled当前组件是否被禁用,在禁用场景下,组件将无法响应用户交互。-->
                <input class="radio" type="radio" checked='true' name="radioSample" disabled="true"></input>
            </div>
        </div>
    </div>

    <text class="title">搜索框</text>
    <div class="input-item">
        <div class="search-item">
            <input class="search" type="text" maxlength="20" enterkeytype="search" softkeyboardenabled="true" headericon="/common/images/x3.png" placeholder="搜索"  onchange="change" >
            <!-- enterkeytype设置软键盘Enter按钮的类型,可选值为:
                default:默认
                next:下一项
                go:前往
                done:完成
                send:发送
                search:搜索
                除“next”外,点击后会自动收起软键盘。headericon在文本输入前的图标资源路径,不支持点击事件
                softkeyboardenabled编辑时是否弹出系统软键盘。-->
            </input>
            <input class="button" type="button" value="搜索"></input>
        </div>
    </div>
</div>

css

.containe {
    width: 100%;
    flex-direction: column;
    padding: 0 0 5% 0;
    background-color: #F7F8FA;
}
.title {
    color: #6D7278;
    font-size: 13px;
    font-family: HarmonyHeiTi;
    margin: 30px 0 10px 14px;
}
.color {
    margin: 0 4% 0 4% ;
    width: 92%;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}
.title,.input-title,.message-title,.length-title {
    width: 32%;
}
.input-item {
    width: 100%;
}
.input-title {
    color: #121317;
    font-family: HarmonyHeiTi;
}
.input {
    width: 70%;
}
.message-input {
    width: 45%;
}
.message-button {
    width: 31%;
    height: 30px;
    border-radius: 5px;
    margin-top: 5px;
}
.checkbox-div,.radio-div {
    padding: 0 38px 0 2px;
}
.search-item {
    border-radius: 25px;
    margin:6px 4% 6px 4%;
}
.search {
    width: 80%;
    height: 33px;
}
.button {
    width: 88px;
    height: 27px;
    margin: 4px 4px 4px 0;
}
.search,.message-input,.input,.input-title {
    font-size: 15px;
}
.input-item,.input,.message-input {
    background-color: white;
}
.input,.message-input,.search {
    placeholder-color: rgba(0,0,0,0.1);
}
.message-button,.button {
    background-color: #317AFF;
    font-size: 11px;
}
.search,.search-item {
    background-color: #F1F3F5;
}
.checkbox {
    color: #317AFF;
}

js

export default {
    checkboxOnChange(e) {
        console.info('checkboxOnChange')
    },
    onRadioChange(inputValue, e) {
        console.info('onRadioChange')
    },
    change(e){
        console.info('onRadioChange')//输入框输入内容发生变化时触发该事件,返回用户当前输入值
    },
}

示例 

 

总结

单选按钮要注意name一致。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Qt 5.13 是一种跨平台的开发工具包,其中包含了许多用于创建高性能应用程序的功能。Qt 5.13 版本支持在 Android 平台上开发应用程序。 使用 Qt 5.13 开发 Android 应用程序具有许多优势。首先,Qt 提供了一种便捷的方式来编写跨平台的代码,这意味着可以减少代码重复,并节省开发时间和精力。开发人员只需编写一次代码,即可在多个平台上运行应用程序,包括 Android 平台。 其次,Qt 提供了许多丰富的组件和工具,用于在 Android 平台上创建漂亮和现代的用户界面。Qt 提供了一套丰富的 UI 控件,可以轻松地构建用户友好的应用程序。此外,Qt 还支持使用 QML(一种用于构建用户界面的声明性语言)来开发应用程序,这使得界面的设计更加灵活和易于实现。 Qt 5.13 还提供了专门用于 Android 平台的一些功能。开发人员可以使用 Qt 提供的 Android 特定模块,如 Qt Android Extras,来调用 Android 平台上的特定功能和 API。此外,Qt 5.13 还支持使用 Qt Creator 进行 Android 应用程序的调试和部署,使得开发过程更加便捷。 总之,Qt 5.13 在 Android 平台上具有强大的功能和便捷的开发工具,使开发人员能够快速而高效地开发出高性能和现代化的应用程序。无论是个人开发者还是企业开发团队,都可以受益于使用 Qt 5.13 进行 Android 应用程序的开发。 ### 回答2: Qt5.13是一种跨平台的开发工具包,可用于开发各种应用程序,包括移动应用程序。在Android上使用Qt5.13,可以轻松地将Qt的跨平台能力扩展到Android设备上。 Qt5.13 on Android提供了一种快速,高效且灵活的方式来开发Android应用程序。它不仅可以利用Qt的跨平台能力,还可以利用Android平台的特定功能和资源。 使用Qt5.13 on Android,可以使用Qt Quick框架构建令人印象深刻的用户界面,它包括丰富的控件和动画效果。同时,Qt还提供了许多内置的模块,可以轻松地处理网络通信、数据库、图像处理等任务。 Qt5.13 on Android还集成了Qt for Android插件,该插件为开发人员提供了许多与Android平台相关的功能和接口。这使得开发人员可以轻松地访问设备的硬件功能,如摄像头、传感器等。 此外,Qt5.13还支持使用C++和QML两种语言进行开发。开发人员可以根据自己的喜好和项目需求进行选择。无论是使用C++还是QML,Qt5.13都提供了丰富的API和文档,以帮助开发人员更快地构建应用程序。 总之,Qt5.13 on Android是一个功能强大的工具,可用于快速开发高质量的Android应用程序。它结合了Qt的跨平台能力和Android平台的特定功能,为开发人员提供了一种简单而高效的方式来构建各种类型的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值