在线logo/沈阳seo

在线logo,沈阳seo,dw怎么做动态网站,广州公司注册需要哪些资料文章目录 简介一、自定义背景图布局1.1 效果预览1.2 实现思路1.3 custom-page 组件全量代码1.4 页面使用 二、普通页面布局2.1 效果预览2.2 实现思路2.3 公共样式部分2.4 页面使用 三、分页表单页面布局3.1 效果预览3.2 实现思路3.3 页面代码 简介 开发工具:VsCode…

文章目录

    • 简介
    • 一、自定义背景图布局
        • 1.1 效果预览
        • 1.2 实现思路
        • 1.3 custom-page 组件全量代码
        • 1.4 页面使用
    • 二、普通页面布局
        • 2.1 效果预览
        • 2.2 实现思路
        • 2.3 公共样式部分
        • 2.4 页面使用
    • 三、分页表单页面布局
        • 3.1 效果预览
        • 3.2 实现思路
        • 3.3 页面代码


简介

开发工具:VsCode
技术栈:vue3 + Ts + uni-app + unibest + Wot Design Uni
简介:图文结合,十分钟带你搞定微信小程序常见页面布局


一、自定义背景图布局

1.1 效果预览

在这里插入图片描述

1.2 实现思路
  • 因为小程序原生顶部导航栏只有白色、黑色两种背景色,所以使用自定义导航栏
  • 提高代码复用率,采用组件封装得形式。代码见 ——》步骤 1.3 custom-page 组件全量代码
  • wot design uni 组件库的 wd-navbar 组件刚好符合需求
  • 关键:wd-navbar 组件有一个属性(placeholder:固定在顶部时,在标签位置生成一个等高的占位元素),解决了顶部高度计算的问题
  • 具体文档所在位置如下图

在这里插入图片描述


在这里插入图片描述

1.3 custom-page 组件全量代码
<template><view class="h-full w-full bg-[#F5F5F5] custom-page-container"><!-- 自定义顶部背景图(可选) --><image src="@/static/images/home/bg.png" class="custom-page-bg" /><!-- 页面内容 --><view class="custom-page-main"><!-- 自定义顶部--导航栏 --><wd-navbar:title="title"safeAreaInsetTopplaceholder:left-arrow="showBack"@click-left="handleClickLeft"custom-class="wd-navbar-custom"></wd-navbar><!-- 页面主体--功能版块 --><view class="custom-page-content"><!-- 页面主体内容--插槽 --><view :class="showPagePadding ? 'page-content-p' : ''" class="custom-slot-content"><slot name="content"></slot></view><!-- 页面底部按钮--插槽 --><slot name="footer"></slot></view></view></view>
</template><script lang="ts" setup>
defineProps({// navbar标题title: {type: String,default: '',required: true,},// 是否显示返回按钮showBack: {type: Boolean,default: true,},// 页面主体是否需要展示左右边距showPagePadding: {type: Boolean,default: true,},
})
/*** 返回上一级*/
function handleClickLeft() {uni.navigateBack()
}
</script><style lang="scss" scoped>
.custom-page-container {position: relative;.custom-page-bg {position: absolute;top: 0;left: 0;z-index: 1;width: 100%;height: 668rpx;}.custom-page-main {position: absolute;top: 0;left: 0;z-index: 2;display: flex;flex-direction: column;width: 100%;height: 100%;overflow: hidden;.custom-page-content {display: flex;flex: 1;flex-direction: column;justify-content: space-between;max-height: 100%;overflow: hidden;.custom-slot-content {flex: 1;overflow: hidden;}}}
}
</style>
1.4 页面使用

在这里插入图片描述


二、普通页面布局

2.1 效果预览

在这里插入图片描述

2.2 实现思路
  • 整个页面 flex 布局,中间部分 flex:1。
  • 抽离公共布局样式,不采用组件封装方式,减小心智负担
2.3 公共样式部分
// /src/style/public.scss
// 公共页面布局样式--简易版
.custom-page-simple {display: flex;flex-direction: column;width: 100%;height: 100vh;overflow: hidden;background-color: $open-bg-grey;.page-main {flex: 1;padding: 28rpx;margin: 28rpx;overflow: auto;background: $open-bg-primary;border-radius: $open-border-radius;}.page-footer {width: 100%;height: 130rpx;padding: 30rpx 28rpx;background-color: $open-text-color-inverse;box-shadow: 0rpx 0rpx 27.78rpx 0rpx rgba(9, 197, 133, 0.25);}
}
2.4 页面使用

在这里插入图片描述


三、分页表单页面布局

3.1 效果预览

在这里插入图片描述
在这里插入图片描述

3.2 实现思路
  • 使用 z-paging 组件
  • z-paging 官方文档:z-paging官方文档
  • 组件安装方式参考官方,没有比这个更清晰的了
3.3 页面代码
<route lang="json5" type="page">
{layout: 'default',style: {navigationBarTitleText: '公告列表',},custom: true,
}
</route><template><z-pagingref="pagingRef"v-model="noticeList":paging-style="{ backgroundColor: '#fff' }":default-page-size="pageQuery.size"@query="queryList"><!-- 顶部搜索栏 --><template #top><wd-searchref="searchRef"v-model="pageQuery.someText"placeholder="请输入搜索内容"placeholder-lefthide-cancel:maxlength="50"@change="handleSearchChangeDebounce"/></template><!-- 通告列表 --><div class="notice-list"><div class="notice-item" v-for="(item, index) in noticeList" :key="index"><!-- 标题 --><div class="notice-title">{{ item.title }}</div><!-- 内容 --><span v-if="!item.details || item.details.length < 58" class="notice-content">{{ item.details || '--' }}</span><wd-collapsev-elsev-model="item.showMoreContent"viewmorecustom-class="notice-content":line-num="2">{{ item.details || '--' }}</wd-collapse><!-- 发布时间 --><div class="notice-publish-time">{{ '发布时间:' + parseTime(item.updateTime, '{y}-{m}-{d} {h}:{i}') }}</div><!-- 图片、视频列表 --><div class="notice-file flex items-center"><divclass="notice-file-item"v-for="(file, fileIndex) in item.pictureUrlList":key="fileIndex"><wd-img:width="100":height="75":src="file":enable-preview="true"mode="aspectFill"/></div><divclass="notice-file-item"v-for="(file, fileIndex) in item.videoUrlList":key="fileIndex"><video :src="file" :id="`video${fileIndex}`" controls></video></div></div></div></div></z-paging>
</template><script lang="ts" setup>
import { debounce } from 'lodash-es'
import { useUserStore } from '@/store'
import { fetchNoticePageList } from '@/api/fitness-test/notice'
import { INoticePageQuery, INoticePageResponseListItem } from '@/api/fitness-test/notice/types'
import { parseTime } from '@/utils/business'const userStore = useUserStore()// 通知公列表--数据
const noticeList = ref<INoticePageResponseListItem[]>([])/** ================================ 分页请求 start ================================== */
// z-paging 组件实例
const pagingRef = ref<ZPagingRef>()// 分页查询参数
const pageQuery = reactive<Omit<INoticePageQuery, 'schoolId'>>({current: 1,size: 6,someText: '',
})// 搜索框实例
const searchRef = ref()
// 数据总数
const total = ref(0)// 学校id
const schoolId = computed(() => userStore.getUserInfo.schoolId)/*** 分页查询* @param pageNo 当前页* @param pageSize 每页条数*/
function queryList(pageNo: number, pageSize: number) {// console.log('queryList', pageNo, pageSize)fetchNoticePageList({current: pageNo,size: pageSize,schoolId: schoolId.value,someText: pageQuery.someText,}).then((res) => {const { count, data, size, current } = res.data// 赋值给totaltotal.value = count// 赋值给pageQuery.sizepageQuery.size = size// 赋值给pageQuery.currentpageQuery.current = currentconst resultList = (data || []).map((item) => {return {...item,showMoreContent: false,pictureUrlList: item.pictureUrlList || [],videoUrlList: item.videoUrlList || [],}})// 将请求的结果数组传递给z-paging// 参考文档:https://z-paging.zxlee.cn/api/methods/main.html#%E6%95%B0%E6%8D%AE%E5%88%B7%E6%96%B0-%E5%A4%84%E7%90%86%E6%96%B9%E6%B3%95pagingRef.value?.completeByTotal([...resultList], total.value)}).catch((err) => {console.log(err)pagingRef.value?.complete(false)})
}// 为提升性能,避免高频触发接口,搜索框改变时触发用 防抖 函数
const handleSearchChangeDebounce = debounce(handleSearchChange, 500)/*** 搜索框改变时触发* @param value 搜索框的值*/
function handleSearchChange(ipt: { value: string }) {// console.log('handleSearchChange', ipt)// 重新请求pagingRef.value?.reload()
}
/** ================================ 分页请求 end ================================== */
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/72002.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python-leetcode-乘积最大子数组

152. 乘积最大子数组 - 力扣&#xff08;LeetCode&#xff09; class Solution:def maxProduct(self, nums: List[int]) -> int:if not nums:return 0max_prod nums[0]min_prod nums[0]result nums[0]for i in range(1, len(nums)):if nums[i] < 0:max_prod, min_prod…

RISC-V架构的平台级中断控制器(PLIC:platform-level interrupt controller)详解

英文缩写 英文缩写中文含义PLICplatform-level interrupt controller&#xff0c;平台级中断控制器SMTsimultaneous multi-threading&#xff0c;并发多线程HARTRISC-V架构中的硬件线程SMTsimultaneous multi-threading&#xff0c;多线程执行M-MODEmachine mode&#xff0c;机…

[Web 安全] PHP 反序列化漏洞 —— PHP 序列化 反序列化

关注这个专栏的其他相关笔记&#xff1a;[Web 安全] 反序列化漏洞 - 学习笔记-CSDN博客 0x01&#xff1a;PHP 序列化 — Serialize 序列化就是将对象的状态信息转化为可以存储或传输的形式的过程&#xff0c;在 PHP 中&#xff0c;通常使用 serialize() 函数来完成序列化的操作…

航空装配自动化神器Ethercat转profient网关搭配机器人精准控制

生产管理系统通过网关与装配机器人连接&#xff0c;加快航空器机身的装配速度&#xff0c;减少人为误差。 航空制造对装配线的精度和效率有着极高的要求。某航空制造厂使用的耐达讯Profinet转EtherCAT协议网关NY-PN-ECATM&#xff0c;将其生产管理系统与装配机器人连接&#xf…

什么是MySql的主从复制(主从同步)?

主页还有其他面试题总结&#xff0c;有需要的可以去看一下&#xff0c;喜欢的就留个三连再走吧~ 1.什么是MySql的主从复制原理&#xff1f; 主从复制的核心就是二进制binlog&#xff08;DDL&#xff08;数据定义语言&#xff09;语句和DML&#xff08;数据操纵语言&#xff09…

【人工智能】蓝耘智算平台盛大发布DeepSeek满血版:开创AI推理体验新纪元

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀ 蓝耘智算平台 蓝耘智算平台核心技术与突破元生代推理引擎快速入门&#xff1a;三步调用大模型接口&#xff0c;OpenAI SDK无缝兼容实战用例文…

【网络编程】几个常用命令:ping / netstat / xargs / pidof / watch

ping&#xff1a;检测网络联通 1. ping 的基本功能2. ping 的工作原理3. ping 的常见用法4. ping 的输出解释5. ping 的应用场景6. 注意事项 netstat&#xff1a;查看网络状态 1. netstat 的基本功能2. 常见用法3. 示例4. 输出字段解释5. netstat 的替代工具6. 注意事项 xargs&…

【数据结构】(11) Map 和 Set

一、Map 和 Set 的简介 1、Set 和 Map Map 和 Set 是集合类框架学习的最后一部分。Map 和 Set 都是接口&#xff0c;需要通过 TreeSet、HashSet 和 TreeMap、HashMap 实例化。注意&#xff0c;Set 实现了 Collection&#xff0c;Map 并没有。 Set 存放的是键&#xff08;Key&a…

【HTML— 快速入门】HTML 基础

准备工作 vscode下载 百度网盘 Subline Text 下载 Sublime Text下载 百度网盘 vscode 下载 Sublime Text 是一款轻量好用的文本编辑器&#xff0c;我们在写前端代码时&#xff0c;使用 Sublime Text 打开比使用记事本打开&#xff0c;得到的代码体验更好&#xff0c;比 vscode…

鸿蒙开发深入浅出01(基本环境搭建、页面模板与TabBar)

鸿蒙开发深入浅出01&#xff08;基本环境搭建、页面模板与TabBar&#xff09; 1、效果展示2、下载 DevEco Studio3、创建项目4、新建页面模板5、更改应用信息6、新建以下页面7、Index.ets8、真机运行9、图片资源文件 1、效果展示 2、下载 DevEco Studio 访问官网根据自己的版本…

鸿蒙next 点击穿透实现

点击穿透可以参考华为开发的保留文章,该章节只能在developer preview版本下查看 点击穿透 主要的方法是hitTestBehavior // xxx.ets Entry Component struct HitTestBehaviorExample {build() {// outer stackStack() {Button(outer button).onTouch((event) > {console.i…

27.[前端开发-JavaScript基础]Day04-函数基本使用-递归-变量作用域-函数式编程

一、JavaScript函数 1 认识JavaScript函数 程序中的foo、bar、baz 认识函数 函数使用的步骤 2 函数的声明和调用 声明和调用函数 函数的参数 有参数的函数练习 函数的返回值 函数的练习 arguments参数&#xff08;JS高级再学习&#xff09; 3 函数的递归调用 函数中调用函数…

添加成对约束后的标签传播算法研究:使用Python语言编写算法,在空手道数据集下验证算法的准确性,在一定程度上解决非对齐问题

背景&#xff1a; 辅导的过程中遇到了一个比较新颖的问题&#xff0c;下面是我对这个问题的分析和简要思路介绍。 思路分析&#xff1a; 这算机器学习下面的无监督学习&#xff0c;标签传播算法简称LPA&#xff0c;传统的标签传播算法会出现非对齐问题&#xff0c;一句话描述就…

鸿蒙开发第4篇__关于在鸿蒙应用中使用Java语言进行设计

本博文很重要 HarmonyOS从 API8 开始不再支持使用Java作为开发语言&#xff0c;未来的新功能将在ArkTS中实现. API 8对应的是HarmonyOS 3.0.0版本。请看下图&#xff1a; 因此&#xff0c; 读者如果看到类似《鸿蒙应用程序开发》(2021年版本 清华大学出版计)书 还使用Java语言…

P9420 [蓝桥杯 2023 国 B] 双子数--最高效的质数筛【埃拉托斯特尼筛法】

P9420 [蓝桥杯 2023 国 B] 双子数 题目 分析代码 题目 分析 首先&#xff0c;我们如何找到双子数&#xff1f; 1&#xff09;找到所有质数满足范围内的质数&#xff08;即至少质数^2<23333333333333) 我们看见双子数x的范围2333<x<23333333333333&#xff0c;又因为…

deepseek 导出导入模型(docker)

前言 实现导出导入deepseek 模型。deepseek 安装docker下参考 docker 导出模型 实际生产环境建议使用docker-compose.yml进行布局&#xff0c;然后持久化ollama模型数据到本地参考 echo "start ollama" docker start ollama#压缩容器内文件夹&#xff0c;然后拷贝…

C#从入门到精通(35)—如何防止winform程序因为误操作被关闭

前言: 大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任软件经理,从事C#上位机软件开发8年以上!我们在开发的上位机软件运行起来以后,一般在右上角都有一个关闭按钮,正常情况下点击关闭按钮就能关闭软件,但是不排除我们不想关闭软件,但是因为不…

[RH342]tcpdump

[RH342]tcpdump 1. 题目2. 解题 1. 题目 服务器serverc 和 servera 之间有进程定期发送一个明文密码,找出它2. 解题 找出通信端口 抓包分析 tcpdump -X -vv port 6644红框中就是密码,所以密码是root123

连接Sql Server时报错无法通过使用安全套接字层加密与 SQL Server 建立安全连接

文章目录 一. 前言二. 解决方案 方案1方案2 三. 总结 一. 前言 在《数据库原理》这门课的实验上&#xff0c;需要使用SQL Server&#xff0c;然后使用jdbc连接sql server突然报错为&#xff1a;SQLServerException: “Encrypt”属性设置为“true”且 “trustServerCertific…

Buildroot 添加自定义模块-内置文件到文件系统

目录 概述实现步骤1. 创建包目录和文件结构2. 配置 Config.in3. 定义 cp_bin_files.mk4. 添加源文件install.shmy.conf 5. 配置与编译 概述 Buildroot 是一个高度可定制和模块化的嵌入式 Linux 构建系统&#xff0c;适用于从简单到复杂的各种嵌入式项目. buildroot的源码中bui…