手机/移动端的UI框架-Vant和NutUI

手机/移动端的UI框架-Vant和NutUI下面推荐 2 款手机 移动端的 UI 框架

大家好,欢迎来到IT知识分享网。

下面推荐2款手机/移动端的UI框架。

其实还有很多的框架,各个大厂都有UI框架。目前,找来找去,只有腾讯的移动端是setup语法写的TDesign,其他大厂,虽然都是VUE3写的,但是都还未改成setup的语法,而且,腾讯的版本也比较新,所以暂时不做案例了。我们使用成熟的UI框架Vant和NutUI来演示。其中京东的NutUI组件,还有小程序组件。

目录

一、Vant

二、NutUI


一、Vant

官网,Vant 4 – A lightweight, customizable Vue UI library for mobile web apps.,多的不说了,可以看官网介绍,下面我们直接创建程序。

1. 我们使用HBuilder X创建一个正常的程序

手机/移动端的UI框架-Vant和NutUI

2.命令安装

npm i vant

安装完成标志

手机/移动端的UI框架-Vant和NutUI

3.这里的mian.js不需要修改,和很多其他组件不一样

import { createApp } from 'vue' import App from './App.vue' createApp(App).mount('#app') 

4.因为用的是vite创建的项目,所以修改vite.config.js

import vue from '@vitejs/plugin-vue' import Components from 'unplugin-vue-components/vite' import { VantResolver } from 'unplugin-vue-components/resolvers' export default { plugins: [ vue(), Components({ resolvers: [VantResolver()] }) ] } 

5.命令安装插件,否则报错

npm i unplugin-vue-components -D
npm i less

成功标志

手机/移动端的UI框架-Vant和NutUI

6.HelloWorld.vue中引用组件的功能

<template> <van-form @submit="onSubmit"> <van-cell-group inset> <van-field v-model="username" name="用户名" label="用户名" placeholder="用户名" :rules="[{ required: true, message: '请填写用户名' }]" /> <van-field v-model="password" type="password" name="密码" label="密码" placeholder="密码" :rules="[{ required: true, message: '请填写密码' }]" /> </van-cell-group> <div style="margin: 16px;"> <van-button round block type="primary" native-type="submit"> 提交 </van-button> </div> </van-form> <van-form @submit="onSubmit"> <van-cell-group inset> <van-field v-model="username" name="用户名" label="用户名" placeholder="用户名" :rules="[{ required: true, message: '请填写用户名' }]" /> <van-field v-model="password" type="password" name="密码" label="密码" placeholder="密码" :rules="[{ required: true, message: '请填写密码' }]" /> </van-cell-group> <div style="margin: 16px;"> <van-button round block type="primary" native-type="submit"> 提交 </van-button> </div> </van-form> <van-form @submit="onSubmit"> <van-cell-group inset> <van-field v-model="username" name="用户名" label="用户名" placeholder="用户名" :rules="[{ required: true, message: '请填写用户名' }]" /> <van-field v-model="password" type="password" name="密码" label="密码" placeholder="密码" :rules="[{ required: true, message: '请填写密码' }]" /> </van-cell-group> <div style="margin: 16px;"> <van-button round block type="primary" native-type="submit"> 提交 </van-button> </div> </van-form> <van-form @submit="onSubmit"> <van-cell-group inset> <van-field v-model="username" name="用户名" label="用户名" placeholder="用户名" :rules="[{ required: true, message: '请填写用户名' }]" /> <van-field v-model="password" type="password" name="密码" label="密码" placeholder="密码" :rules="[{ required: true, message: '请填写密码' }]" /> </van-cell-group> <div style="margin: 16px;"> <van-button round block type="primary" native-type="submit"> 提交 </van-button> </div> </van-form> <van-form @submit="onSubmit"> <van-cell-group inset> <van-field v-model="username" name="用户名" label="用户名" placeholder="用户名" :rules="[{ required: true, message: '请填写用户名' }]" /> <van-field v-model="password" type="password" name="密码" label="密码" placeholder="密码" :rules="[{ required: true, message: '请填写密码' }]" /> </van-cell-group> <div style="margin: 16px;"> <van-button round block type="primary" native-type="submit"> 提交 </van-button> </div> </van-form> <van-form @submit="onSubmit"> <van-cell-group inset> <van-field v-model="username" name="用户名" label="用户名" placeholder="用户名" :rules="[{ required: true, message: '请填写用户名' }]" /> <van-field v-model="password" type="password" name="密码" label="密码" placeholder="密码" :rules="[{ required: true, message: '请填写密码' }]" /> </van-cell-group> <div style="margin: 16px;"> <van-button round block type="primary" native-type="submit"> 提交 </van-button> </div> </van-form> <van-form @submit="onSubmit"> <van-cell-group inset> <van-field v-model="username" name="用户名" label="用户名" placeholder="用户名" :rules="[{ required: true, message: '请填写用户名' }]" /> <van-field v-model="password" type="password" name="密码" label="密码" placeholder="密码" :rules="[{ required: true, message: '请填写密码' }]" /> </van-cell-group> <div style="margin: 16px;"> <van-button round block type="primary" native-type="submit"> 提交 </van-button> </div> </van-form> <van-form @submit="onSubmit"> <van-cell-group inset> <van-field v-model="username" name="用户名" label="用户名" placeholder="用户名" :rules="[{ required: true, message: '请填写用户名' }]" /> <van-field v-model="password" type="password" name="密码" label="密码" placeholder="密码" :rules="[{ required: true, message: '请填写密码' }]" /> </van-cell-group> <div style="margin: 16px;"> <van-button round block type="primary" native-type="submit"> 提交 </van-button> </div> </van-form> <van-tabbar v-model="active"> <van-tabbar-item icon="home-o">标签</van-tabbar-item> <van-tabbar-item icon="search">标签</van-tabbar-item> <van-tabbar-item icon="friends-o">标签</van-tabbar-item> <van-tabbar-item icon="setting-o">标签</van-tabbar-item> </van-tabbar> </template> <script> export default { data() { return { goods: { title: "美国伽力果213(约680g/3个)", price: 2680, express: "免运费", remain: 19, thumb: [ "https://img.yzcdn.cn/public_files/2017/10/24/e5a5a02309a41f9f5defd9ae.jpeg", "https://img.yzcdn.cn/public_files/2017/10/24/1791ba14088f9c2be8c610d0a6cc0f93.jpeg", ], }, }; }, methods: { formatPrice() { return "¥" + (this.goods.price / 100).toFixed(2); }, onClickCart() { this.$router.push("cart"); }, sorry() { Toast("暂无后续逻辑~"); }, }, }; </script> <style lang="less"> body { font-size: 16px; background-color: #f8f8f8; -webkit-font-smoothing: antialiased; } .goods { padding-bottom: 50px; &-swipe { img { width: 100%; display: block; } } &-title { font-size: 16px; } &-price { color: #f44; } &-express { color: #999; font-size: 12px; padding: 5px 15px; } &-cell-group { margin: 15px 0; } &-tag { margin-left: 5px; } } </style> 

7.运行效果

PC端

手机/移动端的UI框架-Vant和NutUI

手机端

手机/移动端的UI框架-Vant和NutUI

二、NutUI

官网,NutUI – 移动端组件库,多的不说了,可以看官网介绍,下面我们直接创建程序。

1. 我们使用HBuilder X创建一个正常的程序

手机/移动端的UI框架-Vant和NutUI

2. 使用命令安装

npm i @nutui/nutui

安装完成标志

 手机/移动端的UI框架-Vant和NutUI

3.main.js中,我们使用全局引入,实际开发中,为了更小的程序包,可以按需引入

import { createApp } from "vue"; import App from "./App.vue"; import NutUI from "@nutui/nutui"; import "@nutui/nutui/dist/style.css"; createApp(App).use(NutUI).mount("#app"); 

4.因为用的是vite创建的项目,所以修改vite.config.js

import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import Components from 'unplugin-vue-components/vite' import NutUIResolver from '@nutui/nutui/dist/resolver' // https://vitejs.dev/config/ export default defineConfig({ plugins: [ vue(), // 开启 unplugin 插件,自动引入 NutUI 组件 Components({ resolvers: [NutUIResolver()] }) ], // 配置全局样式变量 css: { preprocessorOptions: { scss: { additionalData: '@import "@nutui/nutui/dist/styles/variables.scss";' } } } }) 

5.HelloWorld.vue中引用组件的功能

<template> <nut-form> <nut-form-item label="姓名"> <nut-input v-model="basicData.name" class="nut-input-text" placeholder="请输入姓名" type="text" /> </nut-form-item> <nut-form-item label="年龄"> <nut-input v-model="basicData.age" class="nut-input-text" placeholder="请输入年龄" type="text" /> </nut-form-item> <nut-form-item label="联系电话"> <nut-input v-model="basicData.tel" class="nut-input-text" placeholder="请输入联系电话" type="text" /> </nut-form-item> <nut-form-item v-model="basicData.address" label="地址"> <nut-input class="nut-input-text" placeholder="请输入地址" type="text" /> </nut-form-item> <nut-form-item label="备注"> <nut-textarea placeholder="请输入备注" type="text" /> </nut-form-item> </nut-form> <nut-tabbar bottom safe-area-inset-bottom placeholder> <nut-tabbar-item v-for="(item,index) in List" :tab-title="item.title" :icon="item.icon"> </nut-tabbar-item> </nut-tabbar> </template> <script lang="ts"> import { h, ref, reactive } from 'vue'; import { Home, Category, Find, Cart, My } from '@nutui/icons-vue'; export default { components: { Home, Category, Find, Cart, My }, setup() { const basicData = reactive({ name: '', age: '', tel: '', address: '' }) const List = [{ title: '标签', icon: h(Home), }, { title: '标签', icon: h(Category), }, { title: '标签', icon: h(Find), }, { title: '标签', icon: h(Cart), }, { title: '标签', icon: h(My), } ] return { List, basicData }; }, } </script> 

6.运行效果

PC端

手机/移动端的UI框架-Vant和NutUI

手机端

手机/移动端的UI框架-Vant和NutUI

 源码地址:

Demo-NutUI: Demo-NutUI

https://gitee.com//demo-vant-d

本文来源:

手机/移动端的UI框架-Vant和NutUI_移动端ui框架-CSDN博客

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/145000.html

(0)
上一篇 2025-04-22 20:00
下一篇 2025-04-22 20:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信