ionic4 ion-modal的用法
组件内部示例
<ion-header>
<ion-toolbar>
<ion-title>条件筛选</ion-title>
<ion-buttons slot="end">
<ion-button (click)="cancel()">
<ion-icon name="close"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>
</ion-header>
<ion-content class="searchfiltrate">
<div class="box_01-list">
<div class="box_01">
<h4 class="box_tp">主題</h4>
<ol class="box_bt">
<li class="l0_ active">全部主題</li><li class="l0_">跨領域設計</li><li class="l0_">傳統工藝</li><li class="l0_">創意產品設計</li>
</ol>
</div>
<div class="box_01">
<h4 class="box_tp">年級</h4>
<ol class="box_bt">
<li class="l0_ active">全部年級</li><li class="l0_">一年級</li><li class="l0_">二年級</li><li class="l0_">三年級</li>
<li class="l0_">四年級</li><li class="l0_">五年級</li><li class="l0_">六年級</li><li class="l0_">七年級</li>
<li class="l0_">八年級</li><li class="l0_">九年級</li><li class="l0_">高一</li><li class="l0_">高二</li>
<li class="l0_">高三</li>
</ol>
</div>
<div class="box_01">
<h4 class="box_tp">收費情況</h4>
<ol class="box_bt">
<li class="l0_ active">全部</li><li class="l0_">免費</li><li class="l0_">收費</li>
</ol>
</div>
</div>
<div class="btn_box">
<span class="btn_">清空筛选</span>
<span class="btn_ sure-btn" (click)="ok()">确定</span>
</div>
</ion-content>
import { Component, OnInit } from '@angular/core';
import { ModalController, NavParams } from '@ionic/angular';
@Component({
selector: 'app-searchmodal',
templateUrl: './searchmodal.page.html',
styleUrls: ['./searchmodal.page.scss']
})
export class SearchmodalPage implements OnInit {
public searchfiltrate = ['000'];
constructor(public modalController: ModalController,public navParams: NavParams) {
//this.navParams 通过这个获取父页面的传值
console.log(this.navParams);
}
ngOnInit() {}
cancel() {//取消
this.modalController.dismiss({
result: 'modal_cancel'
});
}
ok() {//确定
this.modalController.dismiss({
result: this.searchfiltrate
});
}
}
调用示例:
import { Component, ViewChild } from '@angular/core';
import { IonInfiniteScroll, ModalController } from '@ionic/angular';
import { Router } from '@angular/router';
import { SearchmodalPage } from '../module/searchmodal/searchmodal.page';
@Component({
selector: 'app-tab1',
templateUrl: 'tab1.page.html',
styleUrls: ['tab1.page.scss']
})
export class Tab1Page {
@ViewChild(IonInfiniteScroll) infiniteScroll: IonInfiniteScroll;
public list = [];
public total = 30; //总条数
public pageindex = 0; //页数
public pageSize = 10; //每页条数
public hasMore = false; //是否显示更多数据
public searchobj = {roleText:null,subjectText:null}
constructor(public router: Router, public modalController: ModalController) {}
ngOnInit(): void {
this.getData(this.pageindex); //页面初始化的时候加载数据
}
searchchange(msg){ //接收子组件的搜索参数
console.log(msg)
}
searchfiltrate(msg){ //子组件传递参数执行父组件的方法
console.log(msg)
if(msg)this.presentModal();
}
async presentModal() {
const modal = await this.modalController.create({
showBackdrop:true,
component: SearchmodalPage,
componentProps: { value: 123 }
});
await modal.present();
//监听销毁的事件
const { modalData } = await modal.onDidDismiss(); //获取关闭传回的值
console.log(modalData);
}
doRefresh(event) { //下拉刷新
this.pageindex = 0;
setTimeout(() => {
this.list = [];
for (let i = 0; i < (this.pageindex + 1) * this.pageSize; i++) {
this.list.push(i);
}
event.target.complete();
this.hasMore = false;
}, 500);
}
loadData(event) {
//加载更多数据
setTimeout(() => {
this.pageindex = this.pageindex + 1;
this.getData(event); //加载更多数据
this.infiniteScroll.complete();
}, 500);
}
getData(event) {
//加载更多数据
let start = this.pageindex * this.pageSize;
let end = (this.pageindex + 1) * this.pageSize;
if (end > this.total) {
end = this.total;
}
for (let i = start; i < end; i++) {
this.list.push(i);
}
if (this.list.length == this.total) {
this.hasMore = true;
//this.infiniteScroll.disabled = true;
}
}
todetails(obj) {
this.router.navigate(['/details'], { queryParams: obj });
}
ngOnDestroy() {
//组件销毁
}
}
ionic4 ion-modal的用法的更多相关文章
- Ionic4.x Modal模态对话框以及 Modal 传值
1.Modal 模态对话框简介 官方文档:https://ionicframework.com/docs/api/modal Modal模态对话框主要用于登录注册页面,我们可以把它理解为从页面底部弹出 ...
- Bootstrap3.0学习教程十七:JavaScript插件模态框
这篇文章中我们主要来学习一下JavaScipt插件模态框.在学习模态框之前,我们先来了解一下JavaScript插件吧. JavaScript插件概览 插件可以单个引入(使用Bootstrap提供的单 ...
- JavaScript插件——模态框
Bootstrap3.0学习第十七轮(JavaScript插件——模态框) 前言 阅读之前您也可以到Bootstrap3.0入门学习系列导航中进行查看http://www.cnblogs.com/ ...
- iPad开发--iPad中modal的更多用法
可以设置modal的呈现样式,常见的有以下四种 设置modal的过度样式,也就是展现时候的动画效果 代码示例
- ionic4 ion-picker用法
ion-picker实际开发中肯定多处使用,所以封装成服务的形式调用 新建picker.service服务模块 ionic g service picker import { Injectable ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- iOS开发——高级篇——iPad开发、iPad开发中的modal
一.iPad简介 1.什么是iPad一款苹果公司于2010年发布的平板电脑定位介于苹果的智能手机iPhone和笔记本电脑产品之间跟iPhone一样,搭载的是iOS操作系统 2.iPhone和iPadi ...
- Bootstrap 模态框(Modal)插件
原文链接:http://www.runoob.com/bootstrap/bootstrap-modal-plugin.html Bootstrap 模态框(Modal)插件 模态框(Modal)是覆 ...
- Bootstrap <基础三十二>模态框(Modal)插件
模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. 如果您想要单独引用该插件的功能,那么您需要引用 ...
随机推荐
- [C5W2] Sequence Models - Natural Language Processing and Word Embeddings
第二周 自然语言处理与词嵌入(Natural Language Processing and Word Embeddings) 词汇表征(Word Representation) 上周我们学习了 RN ...
- MYSQL ERROR:1130 解决
MYSQL ERROR:1130 解决 ERROR 1130: Host '127.0.0.7' is not allowed to connect to this MySQL server 解决 ...
- servlet重点知识总结
Servlet Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层. ...
- java(二)变量
基础数据类型: 数值型:整型(byte.short.int.long).浮点型(float.double)java各整数类型有固定的表数范围和字段长度,不受具体os的影响,以保持java的可移植性:j ...
- HTML连载42-清空默认边距、文字行高
一. webstorm取色技巧:webstorm内置了颜色取色器,我们对某种颜色未知的时候,可以利用下图中的取色器,进行颜色识别. 二.系统会默认给body添加外边距,因此我们对 ...
- "One or more types required to compile a dynamic expression cannot be found. Are you missing references to Microsoft.CSharp.dll and System.Core.dll?"的解决方法
#事故现场: 在一个.net 4.0 的项目中使用dynamic,示例代码如下: private static void Main(string[] args) { dynamic obj; obj ...
- angularjs 一篇文章看懂自定义指令directive
壹 ❀ 引 在angularjs开发中,指令的使用是无处无在的,我们习惯使用指令来拓展HTML:那么如何理解指令呢,你可以把它理解成在DOM元素上运行的函数,它可以帮助我们拓展DOM元素的功能.比如 ...
- 链表中删除倒数第K个节点
问题描述 分别实现两个函数,一个可以删除单链表中倒数第K个节点,另一个可以删除双链表中倒数第K个节点. 问题分析与解决 从问题当中,我们只能得到一个链表和要删除的第K个节点的信息,于是就有以下思路:如 ...
- python基础(26):类的成员(字段、方法、属性)
1. 字段 字段:包括普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同. 普通字段属于对象 静态字段属于类 字段的定义和使用: class Province: # ...
- Linux帮助——重要文件
Linux帮助——重要文件 摘要:本文主要介绍了Linux系统中常用的文件. 查看系统安装版本 文件 /etc/redhat-release 内容 [root@localhost ~]# cat /e ...