微信小程序开发系列(三十五)·自定义组件的属性properties

微信小程序开发系列(三十四)·自定义组件的创建、注册以及使用(数据和方法事件的使用)_wx小程序组件开发-CSDN博客

目录

1.  组件的属性

2.  组件的使用

3.  细节描述


1.  组件的属性

        Properties是指组件的对外属性,主要用来接收组件使用者传递给组件内部的数据,和data一同用于组件的模板渲染。

        找到上一章节的如下位置:

        可以看到Properties所在的位置,由于这个组件实在首页使用的,因此我们需要找到首页位置。

2.  组件的使用

        找到index.wxml文件,编写如下代码,给custom-checkbox附加属性:


<!-- <button type="warn" bind:tap="getData">获取数据</button> --><button type="primary" bind:tap="delHandler">删除商品</button><view class="line"></view><!-- label 文本显示的内容 -->
<!-- position 控制文本显示的位置 -->
<custom-checkbox label="我已阅读并同意 用户协议 和 隐私协议" position="right" /><view class="line"></view><custom-checkbox label="匿名提交" position="left" />

        目前给组件内部创建了两个属性,这就需要到组件内部进行接收,找到Properties所在的位置编写如下代码进行接收:

  /*** 组件的属性列表:组件的对外属性,主要用来接收组件使用者传递给组件内部的属性以及数据*/properties: {//如果需要接受传递的属性,有两种方式:全写、简写//全写//label: String//简写label:{//type 组件使用者传递的数据类型//数据类型:String、Number、Boolean、Object、Array//也可以设置为null,表示不限制类型type: String,value: ''},position:{type: String,value: 'right'}},

        找到文件custom-checkbox.wxml,进行渲染接收到的信息:

    <view><text>{{ label }}</text></view>

        此时刚刚编写的就可以显示出来了: 

        对此时的布局不满意我们也可以对其样式进行更改,找到custom-checkbox.scss文件,编写代码:

.custom-checkbox-box{display: flex;align-self: center;
}

        使用  display: flex;可以使复选框和文本在同一行展示,使用  align-self: center;可以在垂直方向居中。

        为了调动复选框在左边还是在右边显示,可以根据类名.left和.right来分别设置不同的 flex 方向。我们可以先找到custom-checkbox.scss文件,创建.custom-checkbox-box.left和.custom-checkbox-box.right:

.custom-checkbox-box.left{flex-direction: row-reverse;
}.custom-checkbox-box.right{flex-direction: row;
}

        然后找到custom-checkbox.wxml文件,更改代码,使用三目运算符进行判断:

  <view class="custom-checkbox-box {{ position === 'right' ? 'right' : 'left' }}">

        文章开头,我们编写的代码:


<!-- <button type="warn" bind:tap="getData">获取数据</button> --><button type="primary" bind:tap="delHandler">删除商品</button><view class="line"></view><!-- label 文本显示的内容 -->
<!-- position 控制文本显示的位置 -->
<custom-checkbox label="我已阅读并同意 用户协议 和 隐私协议" position="right" /><view class="line"></view><custom-checkbox label="匿名提交" position="left" />

        对position进行判断:

3.  细节描述

        在这里程序基本完成,不过在运行玩以后通过“调试器”,我们可以看到复选框的右侧会有一些间隙,但是左侧没有:

        为了样式的好看,我们可以为复选框左侧添加一些样式,添加类名class="custom-checkbox":

    <checkbox class="custom-checkbox" checked="{{ isChecked }}" bind:tap="updateChecked"></checkbox>

        然后找到找到custom-checkbox.scss文件,编写:

.custom-checkbox{margin-left: 10rpx;
}

        这里若是我们想要获取复选框当前状态,可以找到custom-checkbox.js文件,编写如下代码:

      console.log(this.properties.label)

        我们也可以在组件内部进行修改:

        label:'在组件内部也可以修改 properties 中的数据'

        此时custom-checkbox.js文件完整代码:

// components/custom-checkbox/custom-checkbox.js
Component({/*** 组件的属性列表:组件的对外属性,主要用来接收组件使用者传递给组件内部的属性以及数据*/properties: {//如果需要接受传递的属性,有两种方式:全写、简写//全写//label: String//简写label:{//type 组件使用者传递的数据类型//数据类型:String、Number、Boolean、Object、Array//也可以设置为null,表示不限制类型type: String,value: ''},position:{type: String,value: 'right'}},/*** 组件的初始数据:用来定义当前组件内部所需要的数据*/data: {isChecked:false},/*** 组件的方法列表:在组件中所有的事件处理程序,都需要写到methods方法中*/methods: {// 更新复选框状态updateChecked(){// 通过取反isChecked的值来获取每次事件点击后的值// 例如初始时false,点击后为true,即对false取反this.setData({isChecked:!this.data.isChecked,label:'在组件内部也可以修改 properties 中的数据'})// console.log(this.properties.label)}}
})

        此时custom-checkbox.scss文件完整代码:

/* components/custom-checkbox/custom-checkbox.wxss */
.custom-checkbox-container{display: inline-block;
}.custom-checkbox-box{display: flex;align-self: center;
}.custom-checkbox-box.left{flex-direction: row-reverse;
}.custom-checkbox-box.right{flex-direction: row;
}.custom-checkbox{margin-left: 10rpx;
}

 微信小程序开发_时光の尘的博客-CSDN博客

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

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

相关文章

Ms08067安全实验室成功实施多家业务系统渗透测试项目

点击星标&#xff0c;即时接收最新推文 近日&#xff0c;Ms08067安全实验室针对多家公司重要系统实施渗透测试项目。公司网络信息系统的业务应用和存储的重要信息资产均较多&#xff0c;存在网络系统结构的复杂性和庞杂等特点&#xff0c;使得公司网络信息系统面临一定风险。项…

顺安蜘蛛池四川官网下载

baidu搜索&#xff1a;如何联系八爪鱼SEO? baidu搜索&#xff1a;如何联系八爪鱼SEO? baidu搜索&#xff1a;如何联系八爪鱼SEO? 虽然影视泛目录很火,但超度站群版本自出现以来-直流量稳定,可惜这两年起站全靠域名。但话说回来,咱不能否认,只要用的域名好,做啥泛目录都有好…

【第11章】别人的工作流,如何使用和调试(上)?(2类必现报错/缺失节点/缺失模型/思路/实操/通用调试步骤)ComfyUI基础入门教程

经过前面章节的学习,相信大家对于工作流是什么?如何搭建?怎么使用基础的工作流?已经很清楚了。 那么,接下来的课程,我们会上一点难度, 并且更接近实战状态了。 这节课,我们就用一套从“文本 - 静帧 - 视频”的AI短片全流程工作流,讲一下,网络上下载的工作流,需要如…

树与图的深度优先遍历——AcWing.846树的重心

树与图的深度优先遍历 定义 从图的某个顶点出发&#xff0c;沿着一条路径尽可能深地访问图中顶点。 运用情况 图的连通性判断。寻找特定路径或回路。 注意事项 要标记已访问的节点&#xff0c;以避免重复访问导致死循环。对于有向图和无向图可能需要不同的处理。 解题思…

C++ Primer Plus第五版笔记(p201-250)

第六章 函数&#xff08;下&#xff09; 在含有return语句的循环后面应该也有一条return语句 不要返回局部对象的引用或指针&#xff0c;当函数结束时临时对象占用的空间也就随之释放掉了&#xff0c;所以两条return语句都指向了不再可用的内存空间。 如果函数返回指针、引用…

排序(2)【选择排序】【快速排序】

一.选择排序 选择排序就是选择一个数组的最大的数字或者最小的数字&#xff0c;放在一整个数组的最后或者开头的位置。 1.选择排序的实现 我们可以对选择排序进行一些加强&#xff0c;普通的选择排序是选择最小的数&#xff0c;然后进行交换。这个加强之后就是我们既要选择出…

从ES的JVM配置起步思考JVM常见参数优化

目录 一、真实查看参数 &#xff08;一&#xff09;-XX:PrintCommandLineFlags &#xff08;二&#xff09;-XX:PrintFlagsFinal 二、堆空间的配置 &#xff08;一&#xff09;默认配置 &#xff08;二&#xff09;配置Elasticsearch堆内存时&#xff0c;将初始大小设置为…

ElasticSearch + kibana:类型声明

当我们使用 kibana 创建索引时&#xff0c;如果不申明数据类型&#xff0c;默认字符串赋予 text类型&#xff0c;如下图所示 接下来我们继续创建多条数据如下&#xff1a; 下面我们来检索下&#xff1a; 通过以上两个案例我们发现&#xff0c;使用 match 模糊查询 li-3 明明…

别再问别人了,这是小白都能懂的拓扑图指南

号主&#xff1a;老杨丨11年资深网络工程师&#xff0c;更多网工提升干货&#xff0c;请关注公众号&#xff1a;网络工程师俱乐部 上午好&#xff0c;我的网工朋友。 老杨的网工交流群里经常会有这种现象&#xff1a; 一群小伙伴在问各类型拓扑图的问题&#xff0c;怎么设计&…

monitor-zabbix

监控体系理论 学习本篇文章&#xff0c;了解运维监控系统的前世今生 zabbix官网仓库地址 zabbix官网 https://www.zabbix.com/cn/zabbix官网仓库地址 http://repo.zabbix.com/zabbix/ http://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_…

Hi3861 OpenHarmony嵌入式应用入门--基于HI-12F开发板烧写程序

首先需要一个开发板&#xff0c;我已经在嘉立创上进行了开源&#xff0c;基于安信可hi-12f模块的开发板&#xff0c;集成了两个按键&#xff0c;一个三色灯&#xff0c;一个滑动变阻器&#xff0c;可外接一个0.96寸液晶。 【HI-12F】基于安信可hi-12f模块的开发板 - 嘉立创EDA…

借助Aspose.Email,使用 C# .NET 创建 PST 文件并填充内容

PST&#xff08;个人存储表&#xff09;文件是管理 Outlook 数据的重要组成部分&#xff0c;方便存储电子邮件、联系人、日历和其他项目。在 C# .NET 开发领域&#xff0c;创建和管理存储文件的过程对于各种应用程序至关重要。 在本文中&#xff0c;我们将探讨如何使用 C# .NE…

内窥镜窄带光

文章目录 NBI相关信息 NBI相关信息 第一不知道哪家有这个技术&#xff1f; 第二直接搜索找不到相关信息 第三只能搜企业官网 搜集到的与NBI&#xff0c;相关的信息如下 英美达医疗公司 https://www.innermed.com/index.php/gongsixinwen/139.html 新光维医疗公司 官网页面…

【Spring】1. Maven项目管理

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更…

【无标题】Pycharm执行报错

file 读取未指定utf-8编码&#xff0c;加上就好了 疑问&#xff1a;为什么 有的电脑可以直接跑呢&#xff1f;该电脑、Pycharm、工程&#xff0c;已经做了修改设置默认值&#xff0c;但是到新的电脑上&#xff0c;就需要重新设置&#xff0c;所以 file 读、写&#xff0c;最好…

鸿蒙轻内核调测-内存调测-内存泄漏检测

1、基础概念 内存泄漏检测机制作为内核的可选功能&#xff0c;用于辅助定位动态内存泄漏问题。开启该功能&#xff0c;动态内存机制会自动记录申请内存时的函数调用关系&#xff08;下文简称LR&#xff09;。如果出现泄漏&#xff0c;就可以利用这些记录的信息&#xff0c;找到…

程序员日志之计算机相关专业还值得选择吗?

目录 传送门正文日志1、概要2、专业选择2.1、专业2.2、学校2.3、城市 3、计算机相关专业还值得选择吗&#xff1f; 传送门 SpringMVC的源码解析&#xff08;精品&#xff09; Spring6的源码解析&#xff08;精品&#xff09; SpringBoot3框架&#xff08;精品&#xff09; MyB…

中华老字号李良济,展现百年匠心之魅力,释放千年中医药文化自信

6月14-16日&#xff0c;“潮品老字号 国货LU锋芒”江苏老字号博览会在南京隆重启幕&#xff0c;中华老字号李良济凭借过硬的品牌实力和优质的口碑再次受邀参加&#xff0c;并在展会上绽放百年匠心魅力&#xff0c;彰显千年中医药文化自信&#xff01; 百年匠心 以实力铸就荣耀…

计算机组成原理之定点乘法运算

文章目录 原码并行乘法与补码并行乘法原码算法运算规则存在的问题带符号的阵列乘法器习题原码阵列乘法器间接补码阵列乘法器直接补码阵列乘法器 补码与真值的转换 原码并行乘法与补码并行乘法 原码算法运算规则 存在的问题 理解流水式阵列乘法器&#xff08;并行乘法器&#x…

Java环境安装

下载JDK https://www.oracle.com/cn/java/technologies/downloads/#jdk22-windows 点开那个下载都可以但是要记住下载的路径因为下一步要添加环境变量 选择编辑系统环境变量 点击环境变量 点击新建 新建环境变量JAVA_HOME 并输入JDK在计算机保存的路径 打开cmd 输入java -…