微信小程序自定义组件,这里列举了一个常用的提示自定义组件,调用自定义组件中的方法和字段。仅供参考和学习。

编写组件:

在根目录下添加“components”目录,然后像添加Page页面一样添加自定义组件"tips"

文件结构跟page一样,有自己的js逻辑,json配置文件,标签wxml,样式文件wxss。这里使用的是weui的样式库。

tips.wxml:

<view class="weui-toptips weui-toptips_warn"  hidden="{{showTopTips}}">{{msg}}</view>

tips.js

// components/tips/tips.js
Component({
/**
* 组件的属性列表
*/
properties: { }, /**
* 组件的初始数据
*/
data: {
showTopTips: true,
msg: '提示'
}, /**
* 组件的方法列表
*/
methods: {
showDialog(msg) {
wx.showModal({
title: '提示',
content: msg,
})
},
showTopTip: function(msg) {
let that = this;
that.setData({
showTopTips: false,
msg: msg
});
setTimeout(function() {
that.setData({
showTopTips: true
});
}, 1500);
}
}
})

tips.wxss

/* components/tips/tips.wxss */

/*在组件wxss中不应使用ID选择器、属性选择器和标签名选择器。*/

.inner {
color: red;
} .weui-toptips_warn {
background-color: #e64340;
} .weui-toptips {
position: fixed;
-webkit-transform: translateZ(0);
transform: translateZ(0);
top:;
left:;
right:;
padding: 5px;
font-size: 14px;
text-align: center;
color: #fff;
z-index:;
word-wrap: break-word;
word-break: break-all;
}

下面做一个测试页调用

/pages/test页进行测试

1、首先test.json配置中引用tips自定义组件:

{
"usingComponents": {
"mytips": "/components/tips/tips",
"dialog": "/components/dialog/dialog"
}
}

2、test.wxml 中添加自定义组件标签

<mytips id='mytips'></mytips>
<view class='container'>
<button type='primary' size='default' bindtap='showTip'>提示</button>
</view>

3、test.js 调用自定义组件中的方法和字段赋值

// pages/test/test.js
var tips ;
Page({ /**
* 页面的初始数据
*/
data: {
com_data:'',
showTopTips:false,
msg:''
}, /**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
com_data:'test 设置属性值'
})
}, /**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
//获得mytips组件
tips = this.selectComponent("#mytips")
//获得dialog组件
//this.dialog = this.selectComponent("#dialog");
},
showTip: function () {
//tips.showDialog('jbbbbbbbb');
//return
tips.showTopTip('提示内容。。。'); },
showDialog() {
this.dialog.showDialog('显示的内容');
}, //取消事件
_cancelEvent() {
console.log('你点击了取消');
this.dialog.hideDialog();
},
//确认事件
_confirmEvent() {
console.log('你点击了确定');
this.dialog.hideDialog();
}
})

到此自定义组件的定义和使用已经告一段落。

效果显示:在页面顶端显示提示内容。

微信小程序自定义组件,提示组件的更多相关文章

  1. 微信小程序自定义导航栏组件,完美适配所有手机,可实现各种功能和情况

    背景 在做小程序时,关于默认导航栏,我们遇到了以下的问题: Android.IOS 手机对于页面 title 的展示不一致,安卓 title 的显示不居中 页面的 title 只支持纯文本级别的样式控 ...

  2. 微信小程序自定义导航栏组件

    1.首先,要在json文件中设置为自定义的形式 "navigationStyle": "custom" 2.计算相关值 导航栏分为状态栏和标题栏,只要能算出每台 ...

  3. 微信小程序 - 自定义tabbar(组件)

    配置项(关于使用组件) index.wxml <!-- tabBar:tabBar配置 activeIndex: 激活页面下标 slots: 多插槽配置(需与页面一致) --> <t ...

  4. 微信小程序 自定义导航组件 nav头部 全面屏设计

    nav-dynamic 微信小程序自定义nav头部组件:适配全面屏设计: 实现功能 初始进入页面时,展示初始状态下的nav样式: 页面滚动时,监听页面滚动事件,展示滚动状态下的nav样式: 根据配置字 ...

  5. [小程序开发] 微信小程序audio音频播放组件+api_wx.createAudioContext

    引言: audio是微信小程序中的音频组件,可以轻松实现小程序中播放/停止音频等自定义动作. 附上微信小程序audio组件的相关属性说明:https://mp.weixin.qq.com/debug/ ...

  6. 百度小程序自定义通用toast组件

    百度小程序Toast组件 author: @TiffanysBear 百度小程序自定义通用toast组件 BdToast百度小程序自定义通用组件-github地址 需求 手百小程序的toast仅支持在 ...

  7. 微信小程序(二十)-UI组件(Vant Weapp)-01按装配置

    1.官网 https://vant-contrib.gitee.io/vant-weapp/#/intro https://gitee.com/vant-contrib/vant-weapp 2.按装 ...

  8. 微信小程序自定义弹窗wcPop插件|仿微信弹窗样式

    微信小程序自定义组件弹窗wcPop|小程序消息提示框|toast自定义模板弹窗 平时在开发小程序的时候,弹窗应用场景还是蛮广泛的,但是微信官方提供的弹窗比较有局限性,不能自定义修改.这个时候首先想到的 ...

  9. 微信小程序——自定义导航栏

    微信头部导航栏可能通过json配置: 但是有时候我们项目需求可能需要自定义头部导航栏,如下图所示: 现在具体说一下实现步骤及方法: 步骤: 1.在 app.json 里面把 "navigat ...

随机推荐

  1. 【洛谷】P1449 后缀表达式

    P1449 后缀表达式 分析: 简单的模拟题. 熟练容器stack的话很容易解决. stack,栈,有先进后出的特性. 比如你有一个箱子,你每放进第一个数时,就往箱底放,放第二个数时就在第一个数的上面 ...

  2. QML学习(一)——<简要概念知识点>

    转载:https://www.cnblogs.com/dengyg0710/p/10644936.html 1.一个 QML 文档有且只有一个根元素. 2.QML 元素名后所有内容使用 {} 包围起来 ...

  3. 在安卓手机下按钮会悬浮在键盘上,怎么解决vue.js

    data里面 screenHeight: window.innerHeight mounted里面 mounted () { var that = this var u = navigator.use ...

  4. vue+Element 后台管理骨架

    1.使用的是vue-cli 3.0起的 2.文件目录结构 3.整体的骨架是根据element 文档里头的Container容器布局来的(复制粘贴,喜欢什么色儿就改) aside这个 部分需要注意的是这 ...

  5. 【BIEE】报表导出数据只显示500行,如何解决?

    BIEE报表展示的时候每页只显示500行,进而导致导出的时候也只能导出500行,客户抱怨:每次只能导出500行,导出后还得自己合并! 解决思路: 1.找到路径$BIEE_HOME\instances\ ...

  6. idea的maven工程中修改pom会改变项目jdk版本

    解决办法 方案一 //pom中配置maven插件时候 <plugins> <!--jdk编译插件--> <plugin> <groupId>org.ap ...

  7. ipv4的TCP的几个状态 (SYN, FIN, ACK, PSH, RST, URG)

    1 在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 2 3 其中,对于我们日常的分析有用的就是前面的五个字段. 4 5 它们的含义是 ...

  8. Hbuilder提交项目到GitHub出现cannot open git-upload-pack

    问题描述 Hbuilder上传本地项目到GitHub时是通过下载的Egit插件,然而提交代码时出现下图问题 网上有说添加http的sslVerify=false,然并卵. 解决方案 不用hbuilde ...

  9. 嵌入式LINUX基础教程 第2版

    嵌入式LINUX基础教程  第2版 目录 第1章 入门 11.1 为什么选择Linux 11.2 嵌入式Linux现状 21.3 开源和GPL 21.4 标准及相关组织 31.4.1 Linux标准基 ...

  10. EasyNVR摄像机网页Chrome无插件视频播放功能二次开发之通道配置文件上传下载示例代码

    背景需求 熟悉EasyNVR产品的朋友们都知道,产品设计初期根据整个直播流程层级,我们将EasyNVR无插件直播系统划分为:硬件层.能力层.应用层,连接硬件与应用之间的桥梁,同时屏蔽各种厂家硬件的不同 ...