uniapp(vue3.2语法糖)尝试使用pinia 获取uniapp中胶囊的top值,自定义搜索框高度与其相同

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

uniapp(vue3.2语法糖)尝试使用pinia
获取uniapp中胶囊的top值,自定义搜索框高度与其相同

一、main.js中引入pinia

import { createSSRApp } from 'vue'
import * as Pinia from 'pinia';
export function createApp() {
  const app = createSSRApp(App);
  app.use(Pinia.createPinia());
  return {
    app,
	Pinia,
  }
}

链接:添加链接描述

二、创建store

1.目录store/pinia.js

代码如下(示例):

import { defineStore } from 'pinia';
import {ref} from 'vue'
export const useStore = defineStore('usePinia', () => {
	//变量
	const menuButtonInfoHight=ref(0);
	//函数
	const setHeight=()=>{
		//获取uniapp微信小程序胶囊按钮的top值赋值给变量
		menuButtonInfoHight.value = uni.getMenuButtonBoundingClientRect().top;
	}
	return {menuButtonInfoHight,setHeight};
});

2.使用pinia中变量和函数

引入store:

import { useStore } from '@/stores/pinia.js';
const store = useStore();

在onMounted生命周期中执行pinia中定义的方法给变量高度赋值

onMounted(() => {
	//获取pinia中的胶囊top值,设置到变量中
	store.setHeight();
})

此时store.menuButtonInfoHight中已有值,将其作为变量给元素添加margin-top,此时元素和胶囊按钮上高度一致

<view class="topSearch" :style="'margin-top:'+store.menuButtonInfoHight+'px;'">
		<text class="iconfont icon-fangdajing"></text>
		<input type="text" class="search-input" />
</view>

在这里插入图片描述


总结

还在学习,没啥好总结的,用的不对请大家及时指正。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值