JavaScript轻应用:UI组件的属性配置

简介: 之前的文档已经介绍过,轻应用UI主要包含三部分:页面结构(xml文件)、页面样式(css文件)和页面逻辑(js文件),这里主要介绍一下页面结构的组成。

1、前言

之前的文档已经介绍过,轻应用UI主要包含三部分:页面结构(xml文件)、页面样式(css文件)和页面逻辑(js文件),这里主要介绍一下页面结构的组成。

/pages 目录中的 xml 文件用于定义当前这个页面的结构,文件内容遵循 xml 语法。xml文件中主要包含了UI组件的标签,以及UI组件的属性。

2、UI组件标签

以文本组件为例,其标签名称是text,通过以下方式可以创建一个文本组件。组件的通用属性和专有属性如下所示,开发者可以通过属性配置来管理该文本组件。

xml文件示例:

  1. <page>
  2. <text id="amp" value="amp text" > text>
  3. page>

轻应用框架已支持的UI组件及标签汇总如下:

UI组件名称

标签

按键

button

视图容器

container

图标

icon

图片

image

线条

line

列表

list

预加载

preload

进度条

progress

滑动选择器

slider

开关

switch

文本

text

可编辑文本

textarea

另外还有一个重要的标签page,page代表页面,在每个xml文件中有且只能有一个page标签。

3、UI组件属性

3.1、通用属性

通用属性是每一个组件都拥有的属性,目前暂定只有一个id是通用属性,组件的样式是通过id选择器来完成的(在后续的页面样式一章中会详细介绍)。

通用属性

说明

示例

id

组件的id会在css选择器和组件属性赋值时使用。

3.2、组件专有属性

每个UI组件都支持不同的属性,例如文本组件(text)中的属性value表示文本内容;按键(button)中的属性包含按键点击的回调事件,以及按键点击后的颜色。

text的特有属性

属性

说明

类型

默认值

value

控件文本

string

-

button的特有属性

属性

说明

类型

默认值

press-color

按下后的颜色

color

#BEBEBE

value

控件文本

string

-

onClick

点击回调事件

function(id: string)

-

其他的组件及属性配置可参考UI组件。

4、参考示例

下面我们通过两个完整的示例来详细介绍一下UI的标签和属性。

text标签

app.json配置:

  1. {
  2. "version": "0.0.1",
  3. "io": {
  4. },
  5. "pages": [
  6. "pages/text/text"
  7. ],
  8. "debugLevel": "DEBUG"
  9. }

可以看到轻应用UI的pages中包含一个页面,页面路径为"pages/text/text",可以看到在和app.json和pages文件夹位于同一目录,另外amp为轻应用在linux上编译链接生成的可执行文件。

并且在页面路径下可以看到以下几个文件:

xml文件示例:

  1. <page>
  2. <text id="amp" value="amp text"> text>
  3. page>

通过xml文件中的描述可以看到,该页面中只有一个text文本,该文本的内容为"amp text",id是"amp"。在桌面版Linux环境上执行用例后,运行结果如下:

button 按键

app.json配置:

  1. {
  2. "version": "0.0.1",
  3. "io": {
  4. },
  5. "pages": [
  6. "pages/button/button"
  7. ],
  8. "debugLevel": "DEBUG"
  9. }

app.json的配置同上,不再详细描述。

xml文件示例:

  1. <page>
  2. <button id="button1" value="press"> button>
  3. page>

通过xml文件中的描述可以看到,该页面中只有一个button按键,按键上显示的内容为"press"。在桌面版Linux环境上执行用例后,运行结果如下:

开发者技术支持

如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号

更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/

相关文章
|
11天前
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
141 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
26天前
|
人工智能 自然语言处理 API
用自然语言控制电脑,字节跳动开源 UI-TARS 的桌面版应用!内附详细的安装和配置教程
UI-TARS Desktop 是一款基于视觉语言模型的 GUI 代理应用,支持通过自然语言控制电脑操作,提供跨平台支持、实时反馈和精准的鼠标键盘控制。
537 17
用自然语言控制电脑,字节跳动开源 UI-TARS 的桌面版应用!内附详细的安装和配置教程
|
28天前
|
监控 安全 中间件
Next.js 实战 (十):中间件的魅力,打造更快更安全的应用
这篇文章介绍了什么是Next.js中的中间件以及其应用场景。中间件可以用于处理每个传入请求,比如实现日志记录、身份验证、重定向、CORS配置等功能。文章还提供了一个身份验证中间件的示例代码,以及如何使用限流中间件来限制同一IP地址的请求次数。中间件相当于一个构建模块,能够简化HTTP请求的预处理和后处理,提高代码的可维护性,有助于创建快速、安全和用户友好的Web体验。
|
30天前
|
缓存 NoSQL JavaScript
Vue.js应用结合Redis数据库:实践与优化
将Vue.js应用与Redis结合,可以实现高效的数据管理和快速响应的用户体验。通过合理的实践步骤和优化策略,可以充分发挥两者的优势,提高应用的性能和可靠性。希望本文能为您在实际开发中提供有价值的参考。
56 11
|
1月前
|
JavaScript 前端开发
【Vue.js】监听器功能(EventListener)的实际应用【合集】
而此次问题的核心就在于,Vue实例化的时机过早,在其所依赖的DOM结构尚未完整构建完成时就已启动挂载流程,从而导致无法找到对应的DOM元素,最终致使计算器功能出现异常,输出框错误地显示“{{current}}”,并且按钮的交互功能也完全丧失响应。为了让代码结构更为清晰,便于后续的维护与管理工作,我打算把HTML文件中标签内的JavaScript代码迁移到外部的JS文件里,随后在HTML文件中对其进行引用。
52 8
|
1月前
「Mac畅玩鸿蒙与硬件53」UI互动应用篇30 - 打卡提醒小应用
本篇教程将实现一个打卡提醒小应用,通过用户输入时间进行提醒设置,并展示实时提醒状态,实现提醒设置和取消等功能。
68 10
|
1月前
|
UED
「Mac畅玩鸿蒙与硬件52」UI互动应用篇29 - 模拟火车票查询系统
本篇教程将实现一个模拟火车票查询系统,通过输入条件筛选车次信息,并展示动态筛选结果,学习事件处理、状态管理和界面展示的综合开发技巧。
72 13
|
1月前
|
敏捷开发 人工智能 JavaScript
Figma-Low-Code:快速将Figma设计转换为Vue.js应用,支持低代码渲染、数据绑定
Figma-Low-Code 是一个开源项目,能够直接将 Figma 设计转换为 Vue.js 应用程序,减少设计师与开发者之间的交接时间,支持低代码渲染和数据绑定。
107 3
Figma-Low-Code:快速将Figma设计转换为Vue.js应用,支持低代码渲染、数据绑定
|
1月前
「Mac畅玩鸿蒙与硬件51」UI互动应用篇28 - 模拟记账应用
本篇教程将介绍如何创建一个模拟记账应用,通过账单输入、动态列表展示和实时统计功能,学习接口定义和组件间的数据交互。
168 68
|
2月前
|
前端开发 UED
「Mac畅玩鸿蒙与硬件50」UI互动应用篇27 - 水果掉落小游戏
本篇教程将带你实现一个水果掉落小游戏,掌握基本的动态交互逻辑和鸿蒙组件的使用,进一步了解事件处理与状态管理。
61 14