一、概述
uView UI,是uni-app生态最优秀的UI框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水
来由
uni-app2018年初发布以来,一直蓬勃发展,一派欣欣向荣,社区也是人声鼎沸,众望所归。
因此,uView应运而生,uView的目标是成为uni-app生态最优秀的UI框架。
关于uView的取名来由,首字母u来自于uni-app首字母,uni-app是基于Vue.js,Vue和View(延伸为UI、视图之意)同音,同时view组件uni-app中 最基础,最重要的组件,故取名uView,表达源于uni-app和Vue之意,同时在此也对它们表示感谢。
适用领域
uView是uni-app生态专用的UI框架,uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码, 可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台(引言自uni-app网)。
二、安装
使用HBuilder X编辑器创建,类型选择uni-app,默版选择默认。

在新窗体中打开,双击App.vue文件,点击左下角的终端图标

输入以下命令安装
npm install uview-ui
效果如下:

三、配置
1. 引入uView主JS库
在项目根目录中的main.js
中,引入并使用uView的JS库,注意这两行要放在import Vue
之后。
// main.js
import uView from "uview-ui";
Vue.use(uView);
2. 在引入uView的全局SCSS主题文件
在项目根目录的uni.scss
中引入此文件。
/* uni.scss */
@import 'uview-ui/theme.scss';
3. 引入uView基础样式
注意!在App.vue
中首行的位置引入,注意给style标签加入lang="scss"属性
<style lang="scss">
/* 注意要写在第一行,同时给style标签加入lang="scss"属性 */
@import "uview-ui/index.scss";
</style>
4. 配置easycom组件模式
此配置需要在项目根目录的pages.json
中进行。
温馨提示
uni-app为了调试性能的原因,修改easycom规则不会实时生效,配置完后,您需要重启HX或者重新编译项目才能正常使用uView的功能。
请确保您的pages.json中只有一个easycom字段,否则请自行合并多个引入规则。
// pages.json
{
"easycom": {
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
},
// 此为本身已有的内容
"pages": [
// ......
]
}
四、测试效果
修改pages/index/index.vue,完整代码如下:
<template>
<view class="wrap">
<view style="text-align: center;">
<text class="title">登录</text>
</view>
<u-form :model="form" ref="uForm">
<u-form-item label="用户名" label-width="100" prop="name">
<u-input v-model="form.name" placeholder="请输入用户名" />
</u-form-item>
<u-form-item label="密 码" label-width="100" prop="pwd">
<u-input v-model="form.pwd" type="password" :password-icon="passwordIcon" placeholder="请输入密码" />
</u-form-item>
</u-form>
<u-button type="success" @click="submit">提交</u-button>
</view>
</template>
<script>
export default {
data() {
return {
passwordIcon: true,
form: {
name: '',
pwd: '',
},
rules: {
name: [{
required: true,
message: '请输入用户名',
// 可以单个或者同时写两个触发验证方式
trigger: ['change', 'blur'],
}],
pwd: [{
required: true,
message: '请输入密码',
trigger: ['change', 'blur'],
}]
}
}
},
methods: {
submit() {
this.$refs.uForm.validate(valid => {
if (valid) {
console.log('验证通过');
} else {
console.log('验证失败');
}
});
}
},
// 必须要在onReady生命周期,因为onLoad生命周期组件可能尚未创建完毕
onReady() {
this.$refs.uForm.setRules(this.rules);
}
}
</script>
<style>
.wrap {
padding: 40rpx;
}
.title {
font-size: 40rpx;
font-weight: 500;
}
</style>
效果如下:

直接点击提交,会有提示

关于from表单,请参考链接:https://www.uviewui.com/components/form.html