ionic4 ion-picker用法
ion-picker实际开发中肯定多处使用,所以封装成服务的形式调用
新建picker.service服务模块 ionic g service picker
import { Injectable, Component, OnInit } from '@angular/core';
import { PickerController } from '@ionic/angular'; @Injectable({
providedIn: 'root'
})
export class PickerService {
constructor(public pickercontroller: PickerController) {}
async openPicker(numColumns = 1, numOptions = 5, multiColumnOptions,callback) {
const picker = await this.pickercontroller.create({
columns: this.getColumns(numColumns, numOptions, multiColumnOptions),
buttons: [
{
text: '取消',
role: 'cancel'
},
{
text: '確定',
handler: value => {
// console.log(`Got Value ${value}`);
callback(JSON.stringify(value))
}
}
]
});
await picker.present();
}
getColumns(numColumns, numOptions, columnOptions) {
let columns = [];
for (let i = 0; i < numColumns; i++) {
columns.push({
name: `col-${i}`,
options: this.getColumnOptions(i, numOptions, columnOptions)
});
}
return columns;
}
getColumnOptions(columnIndex, numOptions, columnOptions) {
let options = [];
for (let i = 0; i < numOptions; i++) {
options.push({
text: columnOptions[columnIndex][i % numOptions],
value: i
});
}
return options;
}
}
在组件中使用:
html中:
ts中:
import { Component, OnInit } from '@angular/core';
import { PickerController } from '@ionic/angular';
import { PickerService } from '../picker/picker.service'; @Component({
selector: 'app-head1',
templateUrl: './head1.page.html',
styleUrls: ['./head1.page.scss']
})
export class Head1Page implements OnInit {
Options: any = {
header: '開放身份',
subHeader: 'Select your favorite color'
};
public roleOptions = [['全部', '老師', '學生', '家長']];
public roleText = '開放身份'; //选择的角色
public subjectOptions = [['全部學科', '體育', '科學', '語文', '數學', '英語', '音樂', '美術', '品德與生活', '信息技術', '計算機']];
public subjectText = '全部學科'; //选择的学科
constructor(public pickercontroller: PickerController, public pickerService: PickerService) {} ngOnInit() {}
pickerFn($start, $length, $option, type) {
let that = this;
this.pickerService.openPicker($start, $length, $option, function(result) {
let vals = JSON.parse(result)['col-0'].text;
switch (type) {
case 'role':
that.roleText = vals;
break;
case 'subject':
that.subjectText = vals;
break;
default:
break;
}
});
}
}
ionic4 ion-picker用法的更多相关文章
- ionic4 ion-modal的用法
组件内部示例 <ion-header> <ion-toolbar> <ion-title>条件筛选</ion-title> <ion-button ...
- 小程序组件之picker和range-key的用法
因为在微信小程序的官网上并没有range-key的例子以及实际用法,所以好多人不知道具体如何使用.然后我在这里对其进行一个简单的实现,并记录一些注意事项. 以下是官网给的说明: 具体的用法 ...
- 微信小程序开发之picker选择器组件用法
picker组件时一个从底部弹起的可滚动的选择器(嵌入页面滚动器组件picker-view查看https://mp.weixin.qq.com/debug/wxadoc/dev/component/p ...
- 数值选择器(NumberPicker)的功能与用法
数值选择器用于让用户输入数值,用户既可以通过键盘输入数值,也可以通过拖动来选择数值.使用该组件常用如下三个方法. setMinValue(int minVal):设置该组件支持的最小值. setMax ...
- mpvue微信小程序多列选择器用法:实现省份城市选择
前言 微信小程序默认给我们提供了一个省市区的picker选择器,只需将mode设置为region即可 <picker mode="region" bindchange=&qu ...
- ruby where用法
用法1 Subject.where(").order("name") 用法2 与find方法不同的是,where方法返回的结果不是数组而是ActiveRelation,这 ...
- richface的配置、用法介绍和注意事项
richface的配置.用法介绍和注意事项一.RichFaces (3.1.x) 技术需求 1.JDK 1.5 或更高版本: 2.支持的 JSF 实现: Sun JSF 1.1 RI - 1.2 My ...
- 页面滚动插件 better-scroll 的用法
better-scroll 是一个页面滚动插件,用它可以很方便的实现下拉刷新,锚点滚动等功能. 实现原理:父容器固定高度,并设置 overflow:hidden,子元素超出父元素高度后将被隐藏,超出部 ...
- Ionic4.x Theming(主题) 增加内置主题 颜色 修改内置组件默认样式 修改底部 Tabs 背景颜色以及按钮颜色
1.Ionic4.x Theming(主题) Ionic4.x 修改主题颜色的话需要在 src/theme/variables.scss 文件中修改. https://ionicframework.c ...
随机推荐
- window10下pytorch和torchvision CPU版本安装
1.环境 python3.5 Anaconda 4.2.0 2.pytorch安装 pip3 install https://download.pytorch.org/whl/cpu/torch-1. ...
- Unity 利用Cinemachine快速创建灵活的相机系统
在第一或第三人称ACT和FPS游戏中,相机的运动需求是多种多样的,Unity内置的Cinemachine包可以助你快速实现不同相机功能,例如范围追踪,边界设置等. 例如,考虑这样一个功能,这在很多游戏 ...
- 浏览器记住密码的自动填充Input问题完美解决方案
1.input 前from和input占位隐藏 <form style="width:0;height:0;display:none;"> <input type ...
- laravel中select2多选,初始化默认选中项
项目中有发送消息功能,需要能通过搜索,多选用户,来指定发送人.使用 select2 插件来完成. select2 的 html 代码如下: <div class="form-group ...
- 红黑树之 原理和算法详细介绍(阿里面试-treemap使用了红黑树) 红黑树的时间复杂度是O(lgn) 高度<=2log(n+1)1、X节点左旋-将X右边的子节点变成 父节点 2、X节点右旋-将X左边的子节点变成父节点
红黑树插入删除 具体参考:红黑树原理以及插入.删除算法 附图例说明 (阿里的高德一直追着问) 或者插入的情况参考:红黑树原理以及插入.删除算法 附图例说明 红黑树与AVL树 红黑树 的时间复杂度 ...
- ASP.NET Core 使用 Redis 实现分布式缓存:Docker、IDistributedCache、StackExchangeRedis
ASP.NET Core 使用 Redis 实现分布式缓存:Docker.IDistributedCache.StackExchangeRedis 前提:一台 Linux 服务器.已安装 Docker ...
- vue-品牌管理案例-指令和过滤器
过滤器的基本使用 定义一个过滤器 <div id="app"> <p>{{ msg | msgFormat('疯狂+1', '123') | test }} ...
- 剑指offer 11:变态跳台阶
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 解法:使用数学归纳法可得,跳n级台阶的跳法一共有f(n)=2n-1中,即本 ...
- [转] Hystrix 使用与分析
原文地址:http://hot66hot.iteye.com/blog/2155036 转载请注明出处哈:http://hot66hot.iteye.com/blog/2155036 一:为什么需要H ...
- Hibernate Validator Engine的用法
一.引入架包 maven地址 点击即可. <!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-v ...