手动封装一个数量选择组件
2021/7/26 6:11:37
本文主要是介绍手动封装一个数量选择组件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
基础结构
<template> <div class="xtx-numbox"> <div class="label">数量</div> <div class="numbox"> <a href="javascript:;">-</a> <input type="text" readonly value="1"> <a href="javascript:;">+</a> </div> </div> </template> <script> export default { name: 'XtxNumbox' } </script> <style scoped lang="less"> .xtx-numbox { display: flex; align-items: center; .label { width: 60px; color: #999; padding-left: 10px; } .numbox { width: 120px; height: 30px; border: 1px solid #e4e4e4; display: flex; > a { width: 29px; line-height: 28px; text-align: center; background: #f8f8f8; font-size: 16px; color: #666; &:first-of-type { border-right:1px solid #e4e4e4; } &:last-of-type { border-left:1px solid #e4e4e4; } } > input { width: 60px; padding: 0 5px; text-align: center; color: #666; } } } </style>
添加点击事件
// 在数量选择组件中 <template> <div class="xtx-numbox"> <div class="label">{{label}}</div> <div class="numbox"> <a href="javascript:;" @click="changeNum(-1)">-</a> <input type="text" readonly :value="num"> <a href="javascript:;" @click="changeNum(1)">+</a> </div> </div> </template>
代码逻辑
<script> export default { name: 'XtxNumbox', props: { label: { type: String, default: '数量' }, modelValue: { type: Number, default: 1 }, min: { type: Number, default: 0 }, max: { type: Number, default: 10000 } }, setup (props, { emit }) { const changeNum = (step) => { let t = step + props.modelValue // 3. 得到将要改变的值,如果值不合法终止程序 if (t < props.min || t > props.max) return emit('update:modelValue', t) } return { changeNum } } }
父组件中引用
1.导入
<XtxNumbox label="数量" v-model="num" :min="0" :max="goodsData.inventory" />
2.定义数据项
setup () { // 显示数量组件中的num const num = ref(1) return { num } }
这篇关于手动封装一个数量选择组件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南