首页 > 其他分享 >OpenHarmony/HarmonyOS的ArkUI的类Web范式开发详解

OpenHarmony/HarmonyOS的ArkUI的类Web范式开发详解

时间:2022-10-07 10:07:52浏览次数:58  
标签:OpenHarmony Web 样式 HarmonyOS 文件夹 输入框 input css

一.OpenHarmony/HarmonyOS的ArkUI的类Web范式开发

1.1 类Web范式~三件套开发

image-20221002133103345

基于JS扩展的类****Web开发范****式的方舟开发框架包括应用层(Application)、前端框架层(Framework)、引擎层(Engine)、平台适配层(Porting Layer)

JS UI框架采用类HTML和CSS Web编程语言作为页面布局和页面样式的开发语言,页面业务逻辑则支持ECMAScript规范的JavaScript语言。JS UI框架提供的类Web编程范式,可以让开发者避免编写UI状态切换的代码,视图配置信息更加直观。

1.我们首先新建一个项目,将语言选择为Js而不是eTS,配置如下图:

image-20220928103258042

2.新建完成之后,项目文件结构图如下:

主要运用了web三件套:Html,Css,JavaScript。与MUI的开发方式及其相似。

image-20220928103539606

3.先在index.html文件夹下写一下简单的登录->用户名输入框->密码输入框->登录按钮。

<text class="title" id="login-text">
    <span>登录</span>
</text>
<input placeholder="输入用户名"></input>
<input placeholder="输入密码"></input>
<button style="padding: 12fp;">进入App</button>

4.给text写一个id,然后在index.css里进行配置:

#login-text{
    font-size: 40fp;
}

5.写一些公共样式,我们到MainAbilty里新建一个common文件夹,然后在下面新建一个css文件夹,作用于存放我们的公共样式。名为:mystyle.css。

然后在我们的主要的css文件内引用我们的公共样式。

引用格式如下:

@import "../../common/css/mystyle.css";

6.结果样式如下:

image-20220928105419493

二.ArkUI的web范式的组件封装和父对子组件传值

1.首先在MainAbilty文件夹下新建一个components文件夹,然后新建一个组件文件夹,myinput,在其下新建三个文件,Html,Css,JavaScript,目前的目录结构如下:

image-20220928113848439

2.然后把index.html里的input属性删除掉,因为我们在myinput文件下写了:

<input placeholder="{{placeholder}}" 
        type="{{inputtype}}"
        ></input>

3.然后在组件里js里写一下控制变量函数:然后我们在html

export default{
    props:{
        placeholder:"",
        lable:"",
        inputtype:""
}
}

4.对其样式进行美化:

因为我们需要美化的属于组件,我们直接可以到myinput.css对其进行样式美化。

因为我们的myinput.html采用了树形结构,划分了若干个div容器:

image-20220928115435701

对row进行美化,控制其用户名和后面的input输入框进行一个对齐。

.row{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

对input输入框进行美化控制,例如调整其圆角等等:

.my-input{
    margin-top: 5fp;
}

.input input{
    border: 2px solid #000;
}

5.上面我们设置了inputtype变量,所以我们这里可以将两个不同的输入框设置不同的框类型。

<Myinput placeholder="输入用户名"
         lable="用户名"
         inputtype="text"
        ></Myinput>
<Myinput placeholder="输入密码"
         lable="密码"
         inputtype="password"
        ></Myinput>

6.运行效果如下,和之前使用ets写的样式与功能相同:

image-20221002132929196

标签:OpenHarmony,Web,样式,HarmonyOS,文件夹,输入框,input,css
From: https://blog.51cto.com/u_15568258/5734173

相关文章

  • 改造vue-webtopo-svgeditor2.1版本,兼容vue2
    原控件在 https://github.com/yaolunmao/vue-webtopo-svgeditor 是园子里的朋友 咬轮猫  开发的在网上发现大神开发这套组态,很符合项目要求,10.1期间准备融入项目,结......
  • uni-app中使用web-view预览pdf文件
    对应的hybrid/html下即可,小程序的把html文件丢到服务器,小程序通过带参跳转到web预览; https://files.cnblogs.com/files/Fooo/jack-pdf_1.0.0_example.zip?t=1665103409......
  • .Net WebApi 中的 FromBody FromForm FromQuery FromHeader FromRoute
    在日常后端Api开发中,我们跟前端的沟通中,通常需要协商好入参的数据类型,和参数是通过什么方式存在于请求中的,是表单(form)、请求体(body)、地址栏参数(query)、还是说通过请求......
  • [转] webpack 插件的作用
      我们需要先安装插件:npmiwebpack-dev-server-D然后修改 package.json文件:"scripts":{"dev":"webpackserve"}, ......
  • [转]VUE 之 Webpack 打包构建
    首先,下载jquery npmijquery-S然后,下载webpack npmiwebpackwebpack-cli-D接下来,创建文件:webpack.config.jsmodule.exports={mode:'developmen......
  • JavaWeb505错误,IDEA版问题解决
    问题描述:在学习JavaWeb的过程中,使用JSP文件转至servlet文件的过程中,发现无论如何都无法打开文件JSP文件代码<%@pagecontentType="text/html;charset=UTF-8"%><!DOCTY......
  • 为什么有HTTP协议,还要有websocket协议
    平时我们打开网页,比如购物网站某宝。都是点一下列表商品,跳转一下网页就到了商品详情。从HTTP协议的角度来看,就是点一下网页上的某个按钮,前端发一次HTTP请求,网站返回一次HT......
  • Flask框架:运用SocketIO实现WebSSH
    Flask框架中如果想要实现WebSocket功能有许多种方式,运用SocketIO库来实现无疑是最简单的一种方式,Flask中封装了一个flask_socketio库该库可以直接通过pip仓库安装,如下内容......
  • web中实现头像上传功能
    前篇:个人中心页面需要用户自己修改自己的头像,在这里我使用的是base64编码来进行图片的显示,使用的是WEB三层架构带接口架构页面搭建需要有一个修改图片的页面让......
  • SpringBoot整合Websocket
    1.什么是WebSocket1.HTTP协议是一种无状态的、无连接的、单向的应用层协议。它采用了请求/响应模型。通信请求只能由客户端发起,服务端对请求做出应答处理,HTTP协议无法......