MUI组件(5)

popver(弹出菜单)

<div id="popover" class="mui-popover">
    <div class="mui-scroll-wrapper">
        <div class="mui-scroll">
            <ul class="mui-table-view">
                <li class="mui-table-view-cell"><a href="#">Item1</a></li>
                <li class="mui-table-view-cell"><a href="#">Item2</a></li>
                <li class="mui-table-view-cell"><a href="#">Item3</a></li>
                <li class="mui-table-view-cell"><a href="#">Item4</a></li>
                <li class="mui-table-view-cell"><a href="#">Item5</a></li>
            </ul>
        </div>
    </div>
</div>
<a href="#popover" id="openPopover" class="mui-btn mui-btn-primary mui-btn-block">打开弹出菜单</a>

弹出菜单

可以使用 mui('.bottomPopover').popover(status[,anchor]); 控制菜单的显示、隐藏

status值 作用
show 显示弹出菜单
hide 隐藏弹出菜单
toggle 自动识别处理显示隐藏弹出菜单

可以通过指定锚点元素,来自动识别处理弹出菜单

//传入toggle参数,用户也无需关心当前是显示还是隐藏状态,mui会自动识别处理;
mui('.mui-popover').popover('toggle',document.getElementById("openPopover"));

dialog(对话框)

组件名 作用
alert 警告框
confirm 确认框
prompt 输入对话框
toast 消息提示框

注:MUI会根据 ua 判断弹出对话框是原生的还是H5绘制的,可以通过配置 type 属性,使弹出H5对话框。

//alert(message, title, btnValue, callback[, type])
//message:提示对话框上显示的内容
//title:提示对话框上显示的标题
//btnValue:提示对话框上按钮显示的内容
//callback:提示对话框上关闭后的回调函数
//type:是否使用H5绘制的对话框
mui.alert('我是警告框!','警告框','确定',function (e) {
   console.log(e.index)
},'div')
警告框
//confirm(message, title, btnValue, callback[, type])
//message:提示对话框上显示的内容
//title:提示对话框上显示的标题
//btnValue:提示对话框上按钮显示的内容
//callback:提示对话框上关闭后的回调函数
//type:是否使用H5绘制的对话框
mui.confirm('我是确认框!','确认框',['取消','确认'],function (e) {
    e.index
},'div')
确认框
//prompt(message, placeholder, title,btnValue, callback[,type])
//message:提示对话框上显示的内容
//placeholder:编辑框显示的提示文字
//title:提示对话框上显示的标题
//btnValue:提示对话框上按钮显示的内容
//callback:提示对话框上关闭后的回调函数
//type:是否使用H5绘制对话框
mui.prompt('请计算:10 + 5 = ?','请输入答案','算术题',['取消','答题'],function (e) {
    e.index
},'div')


//修改弹出框默认input类型为password 
mui.prompt('text','deftext','title',['true','false'],null,'div') 
document.querySelector('.mui-popup-input input').type='password' 
输入对话框
//toast(message[,option])
//message:消息框提示的文字内容
//options:提示消息的参数,JSON格式
//        duration:持续显示时间,默认值 short。long(3500ms),short(2000ms)
//        type:强制使用MUI消息框
消息提示框

mask(遮罩蒙版)

//遮罩蒙版的创建、显示、关闭
var mask = mui.createMask(callback);//callback为用户点击蒙版时自动执行的回调函数
mask.show();//显示遮罩
mask.close();//关闭遮罩

picker(选择器)
MUI框架扩展了 picker 组件,可用于弹出选择器。poppicker 组件依赖 mui.picker.js/css mui.poppicker.js/css ,因此在使用之前必须引入。

poppicker 适用于弹出单级或多级选择器

//初始化popPicker组件
//new PopPicker({PopPicker.options})
// layer:显示列数
//buttons:显示按钮
//new mui.PopPicker({buttons:['取消','确定']})
var picker = new mui.PopPicker();

//给picker对象添加数据
//setData([data])
//data:填充数据
picker.setData([{value:'name', text:'丶白小源'}]);
//显示picker
picker.show(function(selectItems) {
    console.log(selectItems[0].text);//丶白小源
})

//可以通过 instance.pickers[index] 拿到指定层级的实例,然后通过 setSelectedIndex() 和 setSelectedValue()两个方法设定指定层级的选中项。
//setSelectedIndex(index[, duration, callback])
//index:指定列表选中项
//duration:过渡效果持续时间(ms)
//callback:设置成功回调函数
picker.pickers[0].setSelectedIndex(4, 2000);

//setSelectedValue(value[, duration, callback])
//value:指定列表选中项
//duration:过渡效果持续时间(ms)
//callback:设置成功回调函数
picker.pickers[0].setSelectedValue(4, 2000);

//getSelectedItems()
//返回值[data],获取选中项(数组)
picker.getSelectedItems()

dtpicker 适用于弹出日期选择器

//初始化DtPicker 组件
//new DtPicker({options})
//type:设置日历初始视图模式
//    datetime:完整日期视图(年月日时分)
//    date:年视图(年月日)
//    time:时间视图(时分)
//    month:月视图(年月)
//    hour:时视图(年月日时)
//customData:设置时间/日期别名
//    customData:{h:[{value:"am", text:"上午"}, {value: "pm", text: "下午"}]}
//    y:可设置 年 别名
//    m:可设置 月 别名
//    d:可设置 日 别名
//    h:可设置 时 别名
//    i:可设置 分 别名
//labels:设置默认标签区提示语
//      可设置 年 月 日 时 分 五个字段
//beginDate:设置可选择日期最小范围
//       可单独设置最小年范围:beginYear:2018,
//       其他日期支持Date格式,new Date(2018,5); 指定最小月份6月
//endDate:设置可选日期最大范围
//        可单独设置最大年范围:endYear:2019,
//        其他日期支持Date格式,new Date(2019,10); 指定最大月份11月
var dtPicker = new mui.DtPicker();
//显示picker
dtPicker.show(function(selectItem) {
    console.log(selectItems.y);
})

//getSelectedItems():获取选中的项

input(表单)

<form class="mui-input-group">
    <div class="mui-input-row">
        <label>用户名</label>
    <input type="text" class="mui-input-clear" placeholder="请输入用户名">
    </div>
    <div class="mui-input-row">
        <label>密码</label>
        <input type="password" class="mui-input-password" placeholder="请输入密码">
    </div>
    <div class="mui-button-row">
        <button type="button" class="mui-btn mui-btn-primary" >确认</button>
        <button type="button" class="mui-btn mui-btn-danger" >取消</button>
    </div>
</form>
表单
  • input 控件上添加 mui-input-clear 样式,当控件内有内容时,右侧会出现一个删除图标,点击会清空当前控件内容。
  • mui-input-row 同级添加 mui-input-search属性,就可以使用search 控件。
  • 只需要在 input 控件上添加 mui-input-speech 属性,就可以在H5+环境下使用语音输入。
  • input 控件添加 mui-input-password 属性即可使用密码框。

numbox(数字输入框)
MUI提供了数字输入框控件,可以直接输入数字,也可以点击“+”、“-”按钮变换当前数值。

<div class="mui-numbox">
  <!-- "-"按钮,点击可减小当前数值 -->
  <button class="mui-btn mui-numbox-btn-minus" type="button">-</button>
  <input class="mui-numbox-input" type="number" />
  <!-- "+"按钮,点击可增大当前数值 -->
  <button class="mui-btn mui-numbox-btn-plus" type="button">+</button>
</div>
  • 可通过 data-numbox-*自定义属性设置数字输入框的参数。
Data API
属性名 作用
data-numbox-min 输入框允许使用的最小值,默认无限制
data-numbox-max 输入框允许使用的最大值,默认无限制
data-numbox-step 每次点击“+”、“-”按钮变化的步长,默认步长为1
JS API
方法名 作用
getValue() 获取当前值
setValue(value) 动态设置新值 Int
setOption(options) 更新选项,可取值min(Int),step(Int),max(Int)
//getValue()
mui("#plusDiv").numbox().getValue();
//setValue()
mui("#plusDiv").numbox().setValue(10);
//setOption()
mui("#plusDiv").numbox().setOption('step', 5);

注:MUI在mui.init() 中会自动初始化基本控件,但 动态添加的Numbox组件需要手动初始化。

pagination(分页)

<ul class="mui-pagination">
    <li class="mui-disabled">
        <span> &laquo; </span>
    </li>
    <li class="mui-active">
        <a href="#">1</a>
    </li>
    <li>
        <a href="#">2</a>
    </li>
    <li>
        <a href="#">&raquo;</a>
    </li>
</ul>
分页

MUI组件告一段落,基础性的操作相对来说,还是官方较为详尽。官方提供的实例也是最好的参考资料。

参考文档

上一章 下一章
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,327评论 0 17
  • 1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 ...
    Moment__格调阅读 4,429评论 0 11
  • 操作数组的方法 push() 结尾添加 参数 描述newelement1 必需。要添加到数组的第一个元素。new...
    _sands阅读 461评论 0 0
  • 互联网时代,品牌思维的6大转变 互联网时代,品牌思维不改变过来,永远也做不好品牌,更别提打造品牌超级IP! 传统媒...
    上木木说阅读 175评论 0 0
  • 《晚春岭上》 云来都是轻浮事,月落尽化岭头霜。 雾重轻花一点泪,春深薄风数支芽。
    李唐的小诗阅读 198评论 0 0