uView初识
一、概述
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