上一篇讲的是使用uView2.0实现省市区三级联动(优快云),最后无疾而终
这次我打算一雪前耻,使用uVIew1.0版本。
很好支持支付宝小程序,然后我按照官网的步骤一顿操作。。
hbuilderX的插件市场居然标明不支持支付宝小程序???
我就不信邪了,不用插件市场引入不就好了吗?使用npm不香吗?啊,真是一个小机灵鬼!
npm安装
使用npm的方式安装,能更方便进行升级。
// 安装
npm install uview-ui@1.8.4
接下来就是各种配置了,话不多说,直接去官网搬过来,附上官网链接(npm安装方式配置 | uView - 多平台快速开发的UI框架 - uni-app UI框架)
关于SCSS
uView依赖SCSS,您必须要安装此插件,否则无法正常运行。
如果您的项目是由HBuilder X创建的,相信已经安装scss插件,如果没有,请在HX菜单的 工具->插件安装中找到"scss/sass编译"插件进行安装, 如不生效,重启HX即可
如果您的项目是由vue-cli创建的,请通过以下命令安装对sass(scss)的支持,如果已安装,请略过。
// 安装node-sass
npm i node-sass -D
// 安装sass-loader
npm i sass-loader -D
#准备工作
在进行配置之前,请确保您已经根据安装中的步骤对uView进行了npm安装,如果没有,请先执行安装:
// 如果您的项目是HX创建的,根目录又没有package.json文件的话,请先执行如下命令:
// npm init -y
// 安装
npm install uview-ui@1.8.4
#配置步骤
#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": [
// ......
]
}
直接使用
非常优秀,比uView2.0版本简单方便太多了
。。。。。可是
不能滑动!不能滑动!不能滑动!
这是怎么回事,没有报错,就是不能滑动!也不能点击选择
尝试加一个默认值 ["河北省", "秦皇岛市", "北戴河区"]的编码
好吧,全乱套了,省区的一点变动都没得~
然后我试着选择了一次,然后再点击选择,居然神奇般的可以了,但是就是不太稳定
但是首次点击为什么不能滑动??
还有就是,如果我一开始就给v-model=show的show定义为true,就可以正常滑动
但是还会存在一些bug
比如一开始选择市的列数大于等于2的,
然后省直接去选择北京市,就会出现以下的情况,市辖区保留之前选中的列
我已经彻底懵了。。。。
有没有大佬知道是咋回事的啊??
求教!!!!!!!!!
完结啦!
喜欢的留下你的小脚丫~