TIP
uniapp使用记录
1. vue单文件中使用sass后报错
npm i -D node-sass sass-loader
2. 页面样式使用scoped后page样式无效
html
<style lang="scss">
page {
background: #fff;
height: 100%;
}
</style>
<style lang="scss" scoped>
$btns-height: 114rpx;
.detail-container {
@include flex(column);
height: 100%;
box-sizing: border-box;
border-top: 1rpx solid $border-color;
}
</style>
3. 能不用scroll-view就不用,不然会出现一些奇怪的问题,性能也不好
4. scroll-view的scroll-left设置无效
html
<scroll-view scroll-x :scroll-left="scrollLeft"></scroll-view>
js
// 在挂载之后,延迟设置
mounted() {
setTimeout(() => {
this.scrollLeft = 300;
}, 500)
}
5. scroll-view利用scroll-left设置回弹效果
在设置新值之前先设置为记录的当前值
html
<scroll-view scroll-x :scroll-left="scrollLeft" @scroll="scroll"></scroll-view>
js
let timer = null;
let lastLeft = 0; // 上一次距离左侧的值
export default {
data() {
return {
scrollLeft: 0
}
},
methods: {
scroll(e) {
clearTimeout(timer);
timer = setTimeout(() => {
this.scrollLeft = e.detail.scrollLeft;
// 如果滑动距离小于200则恢复上一次的值
if(Math.abs(e.detail.scrollLeft-lastLeft) < 200) {
setTimeout(() => {
this.scrollLeft = lastLeft;
}, 100);
} else {
lastLeft = e.detail.scrollLeft
}
}, 300)
}
}
}
hubuiderX创建项目,使用vite.config.js,时报错
js
import { defineConfig } from "vite";
import uni from "@dcloudio/vite-plugin-uni";
import unocss from 'unocss/vite';
// https://vitejs.dev/config/
export default defineConfig({
plugins: [uni(), unocss()],
});
``
::: tip
自己不用安装 ``@dcloudio/vite-plugin-uni``这个包,不然就会报错
:::