当前位置: 首页 > wzjs >正文

制作收款网站运营培训班

制作收款网站,运营培训班,大学国际化网站建设,espcms易思企业网站管理系统文章目录1.最终效果预览2.快速选择组件封装3.弹框组件封装4.组件逻辑实现5.组件样式6.页面引入1.最终效果预览 2.快速选择组件封装 <uv-cell :border"isShowBorder"><template v-slot:title><text class"title-key">{{ title }}</te…

文章目录

  • 1.最终效果预览
  • 2.快速选择组件封装
  • 3.弹框组件封装
  • 4.组件逻辑实现
  • 5.组件样式
  • 6.页面引入

1.最终效果预览

QQ_1752218066233

QQ_1752218119422

QQ_1752218139510

2.快速选择组件封装

<uv-cell :border="isShowBorder"><template v-slot:title><text class="title-key">{{ title }}</text></template><template v-slot:label><text style="font-size: 28rpx;color: #999;">{{content}}</text></template><template v-slot:value><view class="content"><view class="content-tag" v-for="(item, index) in showList" :key="index"><uv-tags :text="item.name" :plain="!item.checked" :name="index" shape="circle"@click="handleTagClick(index)"></uv-tags></view></view></template><template v-slot:right-icon><view class="content-tag" v-if="showList.length < list.length"><uv-icon size="30rpx" name="arrow-right" @click="showMoreOptions"></uv-icon></view></template></uv-cell>

基于 uv-ui 的行组件实现的快速选择,默认展示前三个值

3.弹框组件封装

<uv-popup ref="showPopup" mode="top"><view class="popup-content"><view class="popup-title">请选择</view><uv-radio-group v-model="selectedIndex" @change="handleRadioChange"><view v-for="(item, index) in list" :key="index" style="margin-right: 10px;"><uv-radio :name="index">{{ item.name }}</uv-radio></view></uv-radio-group><view class="popup-actions"><uv-button type="primary" @click="confirmSelection">确定</uv-button><uv-button @click="closePopup">取消</uv-button></view></view></uv-popup>

这两个放一个页面了,没必要再单独封装一个弹框组件了

4.组件逻辑实现

import {defineProps,defineEmits,computed,ref} from 'vue'const props = defineProps({isShowBorder: {type: Boolean,required: true},title: {type: String,required: true},content: {type: String,required: true},list: {type: Array,required: true},maxShow: {type: Number,default: 3}})const emit = defineEmits(['tagClick', 'tagMoreClick', 'selectionConfirmed'])const showList = computed(() => {return props.list.slice(0, props.maxShow)})const allList = computed(() => {return props.list})const handleTagClick = (index) => {emit('tagClick', index)}const handleMoreClick = () => {emit('tagMoreClick')}const showPopup = ref()const selectedIndex = ref({})const showMoreOptions = () => {showPopup.value.open()}const handleRadioChange = (index) => {selectedIndex.value = index}const confirmSelection = () => {emit('selectionConfirmed', selectedIndex.value)closePopup()}const closePopup = () => {showPopup.value.close()}

5.组件样式

.title-key {width: 150rpx;}.content {display: flex;flex-wrap: wrap;}.content-tag {margin: 0 0 10rpx 10rpx;}.popup-content {padding: 20rpx;}.popup-title {font-size: 32rpx;font-weight: bold;margin-bottom: 20rpx;}.popup-actions {display: flex;justify-content: space-evenly;margin-top: 20rpx;}

6.页面引入

import RowSel from '@/components/rowSel.vue'<RowSel :isShowBorder="true" :title="'维修大类'" :content="largeContent" :list="wxLargeAllList"@tagClick="radio1Click" @selectionConfirmed="tagMore1Click">
</RowSel>
<RowSel :title="'维修小类'" :content="smallContent" :list="wxSmallAllList" @tagClick="radio2Click"@selectionConfirmed="tagMore2Click">
</RowSel>const radio1Click = (index) => {}const radio2Click = (index) => {}const tagMore1Click = (index) => {radio1Click(index)}const tagMore2Click = (index) => {radio2Click(index)}

在点击事件中实现自己的逻辑选择即可

http://www.dtcms.com/wzjs/2818.html

相关文章:

  • 临沂企业建站模板开发制作app软件
  • 济南 论坛网站建设长沙seo招聘
  • 做网站商城的小图标软件汕头seo
  • 母了猜猜看游戏做网站广州疫情最新情况
  • 网站开发技术流程清理大师
  • 租号网站开发营销技巧
  • 上海环球金融中心高度长沙seo行者seo09
  • 北京网站定制建设沈阳关键词自然排名
  • 门户网站建设 突出服务推广软文300字范文
  • 建设信用卡在网站挂失几步昆明百度搜索排名优化
  • 怎么做电子商务的网站站长统计app进入网址新版
  • 做网站被网监叫去很多次域名归属查询
  • 设计有特色的网站郑州网站优化培训
  • 2023年防疫新政策免费seo快速收录工具
  • 有没有做文创的网站seo搜索引擎实战详解
  • 江苏南京建设局官方网站极速建站网站模板
  • WordPress实验室网站seo方案模板
  • 长沙有网站建站吗学做电商需要多少钱
  • 国际购物网站排名上海网络推广专员
  • 造价师证书在建设部网站查询深圳网络推广代理
  • 深圳工信部网站备案seo搜索引擎优化求职简历
  • 怎样给一个公司做网站百度数据研究中心官网
  • 怎样做网站的用户分析产品推广策划方案
  • APP网站建设什么用处网页设计主题推荐
  • 建设银行官方网站下载安装北京最新疫情最新消息
  • 什么网站可以做全景图营销模式有哪些 新型
  • 网站内容收费互联网广告是做什么的
  • 党建网站织梦模板网站软件免费下载
  • 餐饮设计网站建设推广方案万能模板
  • dreamweaver做的网站seo优化交流