组件内部示例

<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的用法的更多相关文章

  1. Ionic4.x Modal模态对话框以及 Modal 传值

    1.Modal 模态对话框简介 官方文档:https://ionicframework.com/docs/api/modal Modal模态对话框主要用于登录注册页面,我们可以把它理解为从页面底部弹出 ...

  2. Bootstrap3.0学习教程十七:JavaScript插件模态框

    这篇文章中我们主要来学习一下JavaScipt插件模态框.在学习模态框之前,我们先来了解一下JavaScript插件吧. JavaScript插件概览 插件可以单个引入(使用Bootstrap提供的单 ...

  3. JavaScript插件——模态框

    Bootstrap3.0学习第十七轮(JavaScript插件——模态框)   前言 阅读之前您也可以到Bootstrap3.0入门学习系列导航中进行查看http://www.cnblogs.com/ ...

  4. iPad开发--iPad中modal的更多用法

    可以设置modal的呈现样式,常见的有以下四种                                   设置modal的过度样式,也就是展现时候的动画效果 代码示例

  5. ionic4 ion-picker用法

    ion-picker实际开发中肯定多处使用,所以封装成服务的形式调用 新建picker.service服务模块   ionic g service picker import { Injectable ...

  6. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  7. iOS开发——高级篇——iPad开发、iPad开发中的modal

    一.iPad简介 1.什么是iPad一款苹果公司于2010年发布的平板电脑定位介于苹果的智能手机iPhone和笔记本电脑产品之间跟iPhone一样,搭载的是iOS操作系统 2.iPhone和iPadi ...

  8. Bootstrap 模态框(Modal)插件

    原文链接:http://www.runoob.com/bootstrap/bootstrap-modal-plugin.html Bootstrap 模态框(Modal)插件 模态框(Modal)是覆 ...

  9. Bootstrap <基础三十二>模态框(Modal)插件

    模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. 如果您想要单独引用该插件的功能,那么您需要引用  ...

随机推荐

  1. c++用控制符控制输出格式

    #include<iostream> #include<cstdio> #include<iomanip> using namespace std; int mai ...

  2. kindEditor 修改上传图片的路径

    压缩过的js类似

  3. 【STM32H7教程】第18章 STM32H7的GPIO应用之跑马灯

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第18章       STM32H7的GPIO应用之跑马灯 本 ...

  4. Samba基础配置

    本文环境:CentOS 7 简介 在UNIX-like之间共享文件系统主要是通过NFS实现的,而Windows之间共享文件系统主要是通过基于NetBIOS的网上邻居实现的,1984年Andrew Tr ...

  5. 解决 canvas 下载含图片的画布时的报错

    Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may no ...

  6. Java泛型类型擦除与运行时类型获取

    Java的泛型大家都知道是类型擦除的方式实现的,“编译器会进行泛型擦除”是一个常识了(实际擦除的是参数和自变量的类型).“类型擦除” 并非像许多开发者认为的那样,在 <..> 符号内的东西 ...

  7. Java8接口新特性

    概述 Java 8中,你可以为接口添加静态方法和默认方法.从技术角度来说,这是完全合法的,只是它看起来违反了接口作为一个抽象定义的理念.猜想设计初衷可能使为了兼容8以下的jdk Java8出来了个函数 ...

  8. [IDA]批量载入结构体

    我们之前介绍了如果单独定义一个C结构体并转换为IDA中的结构体. 但是,在内核中有很多庞大的结构体,一环接着一环,手动导入不现实. 还存在一个问题,可能大小格式不匹配. 之前有一位老哥推荐我一个工具: ...

  9. PHP获取网址详情页的内容导出到WORD文件

    亲自测试效果一般, css的样式文件获取不到 如果没有特殊的样式  或者是内容里面包括样式的  直接输出有样式的内容 然后导出  这样还是可以的 class word { function start ...

  10. 在.net core程序中使用EntityFrameok(非EF Core)

    最近用NoSQL较多写,用传统的EF到不多,但在一些.net core小程序中也小试牛刀过,不过当时用的是微软为.net core量身定制的Entity Framework Core,只是一些比较常规 ...