前端Vue自定义勾选协议组件的开发与应用

摘要:

随着前端技术的不断发展,用户体验成为了软件开发中的关键要素。在登录、注册等场景中,勾选协议是常见的需求。本文旨在介绍一款基于 Vue.js 的自定义勾选协议组件的开发与应用,该组件适用于多种场景,并且具备良好的扩展性和可定制性。

一、引言

在 Web 应用中,用户在进行某些操作(如注册、登录等)时,往往需要同意一系列的服务协议。传统的做法是通过文本展示协议内容,并提供一个勾选框供用户选择。然而,这种方式往往会导致用户忽略协议内容,从而产生潜在的法律风险。因此,开发一款能够引起用户注意、提高协议阅读率的自定义勾选协议组件变得尤为重要。

组件效果图:

图片

图片

图片

二、组件设计

  1. 组件名称:cc-protocolBox

  2. 属性:

    • agree:表示用户是否同意勾选协议,布尔类型。

    • protocolArr:协议数组,每个元素包含协议标题和内容。

  3. 事件:

    • @click:当用户点击勾选框时触发,用于改变 agree 的值。

    • @protocolClick:当用户点击协议内容时触发,可用于展示协议详情或进行其他操作。

三、组件实现

  1. 模板设计:使用 Vue.js 的模板语法,结合 CSS 样式,设计一个包含勾选框和协议列表的组件。勾选框使用 input 元素,协议列表使用 ul 和 li 元素。

  2. 逻辑处理:在 Vue.js 的实例中,定义 datamethods 和 props 等部分。data 中存储 agree 的状态,methods 中处理点击事件,props 中接收外部传入的属性和事件。

四、应用示例

在登录、注册等页面中,通过引入 cc-protocolBox 组件,并传入相应的属性和事件,即可实现勾选协议的功能。例如,在登录页面中,当用户点击勾选框时,agree 的值会发生变化;当用户点击协议内容时,可以弹出一个模态框展示协议详情。

使用方法
<!-- agree:是否同意勾选  protocolArr:协议数组 @click:勾选同意点击 @protocolClick:协议点击 -->
<cc-protocolBox :agree="agree" :protocolArr="protocolArr" @click="agree = !agree"
            @protocolClick="protocolClick"></cc-protocolBox>  

HTML代码实现部分
<template>
    <view>


        <view class="header">单个协议条款</view>


        <!-- agree:是否同意勾选  protocolArr:协议数组 @click:勾选同意点击 @protocolClick:协议点击 -->
        <cc-protocolBox :agree="agree" :protocolArr="protocolArr" @click="agree = !agree"
            @protocolClick="protocolClick"></cc-protocolBox>


        <view class="header">多个协议条款</view>


        <!-- agree:是否同意勾选  protocolArr:协议数组 @click:勾选同意点击 @protocolClick:协议点击 -->
        <cc-protocolBox :agree="agreeTwo" :protocolArr="protocolArrTwo" @click="agreeTwo = !agreeTwo"
            @protocolClick="protocolClickTwo"></cc-protocolBox>


    </view>
</template>


<script>
    export default {
        data() {
            return {
                agree: false,
                agreeTwo: false,
                protocolArr: ["<App隐私协议>"],
                protocolArrTwo: ["风险提示函", "基金合同", "招募说明书", "基金产品概要"],


            }
        },
        methods: {


            protocolClick(tag) {


                console.log('点击协议序列 = ' + tag);
                uni.showModal({
                    title: '点击协议',
                    content: '点击协议序列 = ' + tag
                })
            },


            protocolClickTwo(tag) {


                console.log('点击协议序列 = ' + tag);
                uni.showModal({
                    title: '点击协议',
                    content: '点击协议序列 = ' + tag
                })
            },
        }
    }
</script>


<style scoped>
    .header {
        margin-top: 20px;
        padding: 10px 20px;
        font-size: 16px;
        background-color: antiquewhite;


    }
</style>

五、总结与展望

本文介绍了基于 Vue.js 的自定义勾选协议组件的开发与应用。该组件不仅提高了用户体验和协议阅读率,还降低了潜在的法律风险。未来,我们可以进一步优化该组件的设计和功能,以适应更多的应用场景和需求。同时,也希望更多的开发者能够关注用户体验和法律风险,共同推动 Web 应用的发展。

下载组件请关注我的微信技术公众号: 前端组件开发

d848d5658a07453c843277846948c608.png

欢迎加入“前端组件开发学习”交流群,可关注  “前端组件开发” 公众号后,私信后申请入群。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

图形学基础:二维三维刚体的移动、缩放和旋转矩阵

一、二维 1.1 缩放矩阵 x&#xff0c;y分别表示在x轴&#xff0c;y轴缩放的倍数 示例&#xff1a; 点(2,1)在x&#xff0c;y轴上分别缩放x倍&#xff0c;y倍 1.2 平移矩阵 x&#xff0c;y分表表示在x轴&#xff0c;y轴上移动的距离 示例&#xff1a;点&#xff08;2,1&#xf…

C语言——指针的高级引用

目录 1.概述 2.虚拟内存空间 2.1存储期限 2.2栈区管理 2.3堆区域的使用 3.动态内存分配和释放&#xff08;重点&#xff09; 3.1通用指针类型void 3.2内存分配malloc函数 3.2.1 malloc函数&#xff08;memory allocation&#xff09;&#xff08;注意len*size&#xff…

工智能图像降噪软件 ON1 NoNoise AI 2024 for Mac激活版

ON1 NoNoise AI 2024 for Mac是一款专为Mac用户设计的先进人工智能图像降噪软件。其核心功能在于能够利用机器学习技术&#xff0c;快速并智能地消除图像中的噪点&#xff0c;无论是亮度噪点还是颜色噪点&#xff0c;都能得到显著的改善。 软件下载&#xff1a;ON1 NoNoise AI …

【高项】信息化发展

目录 1.1 信息与信息化 1.1.1 信息 1.信息的定义 2.信息的特征与质量 1.1.2 信息系统 1.信息系统及其特性 2.信息系统生命周期 1.1.3 信息化 1.信息化内涵 2.信息化体系&#xff08;口诀&#xff1a;上应下技左人右规&#xff0c;中资网&#xff09; 1.2 现代化基础…

Vue笔记 2

数据代理 数据代理&#xff1a;通过一个对象代理对另一个对象中属性的操作&#xff08;读/写&#xff09; let obj{x:100} let obj2{y:200} Object.defineProperty(obj2,x,{get(){return obj.x},set(value){obj.x value} })Vue中的数据代理 Vue中的数据代理&#xff1a; 通…

【go从入门到精通】作用域,包详解

作者简介&#xff1a; 高科&#xff0c;先后在 IBM PlatformComputing从事网格计算&#xff0c;淘米网&#xff0c;网易从事游戏服务器开发&#xff0c;拥有丰富的C&#xff0c;go等语言开发经验&#xff0c;mysql&#xff0c;mongo&#xff0c;redis等数据库&#xff0c;设计模…

u盘为什么一插上电脑就蓝屏,u盘一插电脑就蓝屏

u盘之前还好好的,可以传输文件,使用正常,但是最近使用时却出现问题了。只要将u盘一插入电脑,电脑就显示蓝屏。u盘为什么一插上电脑就蓝屏呢?一般,导致的原因有以下几种。一,主板的SATA或IDE控制器驱动损坏或安装不当;二,电脑系统分区存在磁盘或文件故障错误;三,电脑中…

【力扣】125.验证回文串

刷题&#xff0c;过了真的好有成就感&#xff01;&#xff01;&#xff01; 题解&#xff1a; 根据题目要求&#xff0c;我们需要处理一下几个问题&#xff1a; 将大写字母转变成小写对原来的字符串进行处理&#xff0c;只要字母和数字考虑只有一个和字符串为空的情况 1、将…

element-ui backtop 组件源码分享

今日简单分享 backtop 组件的源码实现&#xff0c;从以下三个方面&#xff1a; 1、backtop 组件页面结构 2、backtop 组件属性 3、backtop 组件事件 一、backtop 组件页面结构 二、backtop 组件属性 2.1 target 属性&#xff0c;触发滚动的对象&#xff0c;类型 string&am…

【保姆级讲解Nginx】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

【Linux系统编程】第一弹---背景介绍

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、Linux 背景介绍 1.1、发展史 1.1.1、UNIX发展的历史 1.1.2、Linux发展历史 2、开源精神 3、Linux内核官网 4、企业应用…

SAP SD学习笔记04 - 出荷Plant(交货工厂),出荷Point(装运点),输送计划,品目的可用性检查,一括纳入/分割纳入,仓库管理

上一章讲了SD的主数据。 SAP SD学习笔记03 - SD模块中的主数据-CSDN博客 本章讲出荷Plant&#xff08;交货工厂&#xff09;&#xff0c;出荷Point&#xff08;装运点&#xff09;和出和路线。 还是偏理论多一些&#xff0c;后面的文章尽量多加些练习巩固一下。 1&#xff0…

2024年思维100春季线上比赛倒计时8天,来做做官方样题

今天是2024年4月12日&#xff0c;距离2024年春季思维100活动第一阶段的线上比赛4月20日还有8天。今年思维100活动的考试重点是什么呢&#xff1f;虽然主办方未公布&#xff0c;我们可以从主办方发布的参考题目中来推测今年的考试重点&#xff0c;并且按照这个来举一反三&#x…

PP-LCNet:一种轻量级CPU卷积神经网络

PP-LCNet: A Lightweight CPU Convolutional Neural Network 最近看了一个新的分享&#xff0c;在图像分类的任务上表现良好&#xff0c;具有很高的实践意义。 论文&#xff1a; https://arxiv.org/pdf/2109.15099.pdf项目&#xff1a; https://github.com/PaddlePaddle/Padd…

百科引流攻略|小马识途分享百科营销的五个技巧

纵观整个互联网领域&#xff0c;国内几大巨头百度、抖音、腾讯都布局了自身的百科平台&#xff0c;百科营销也始终作为网络营销一个重要分支而存在。很多人都知道百科营销是品牌背书的一把王牌&#xff0c;但很少有人提及百科营销的引流作用。 有人可能会说&#xff0c;百科词条…

K8S资源管理之计算资源管理

1.详解Requests和Limits参数 以CPU为例&#xff0c;下图显示了未设置Limits与设置了Requests和Limits的CPU使用率的区别 尽管Requests和Limits只能被设置到容器上&#xff0c;但是设置了Pod级别的Requests和Limits能大大提高管理Pod的便利性和灵活性&#xff0c;因此在Kubernet…

【RV1106的ISP使用记录之二】设备树的构建

基于MIPI接口的两种摄像头接入方式&#xff0c;理清楚各链路关系&#xff0c;方便后续的开发调试工作&#xff0c;先上一张图&#xff0c;后面再补充解释。

Git可视化工具 - 推荐

概述 Git版本管理工具是我们日常开发中常用的工具&#xff0c;熟练使用它可以提高我们的工作效率。 当然老司机基本使用命令行的方式进行操作&#xff0c;新手可借助可视化工具来进行过渡&#xff0c;命令行与可视化工具结合使用来加深对Git的熟悉程度。 下面推荐两个较受欢迎…

IP广播对讲系统停车场解决方案

IP广播对讲系统停车场解决方案 一、需求分析 随着国民经济和社会的发展&#xff0c; 选择坐车出行的民众越来越多。在保护交通安全的同时&#xff0c;也给停车场服务部门提出了更高的要求。人们对停车场系统提出了更高的要求与挑战&#xff0c; 需要停车场系统提高工作效率与服…

Asterisk 21.2.0编译安装经常遇到的问题和解决办法之pjproject风云再起

目录 pjproject问题的另外一种形式上传文件来解决关于pjproject 为什么要用指定版本的 pjproject问题的另外一种形式 在反复测试Asterisk 21.2.0版本安装的时候&#xff0c;在 ./configure 的时候又遇到一个跟pjproject有关的问题&#xff0c;错误提示信息是这样的&#xff1a…