效果如图:

扩展源码:

 //扩展
//密码按钮扩展
//支持在密码与非密码之间切换
Ext.define('ux.form.field.Password', {
extend: 'Ext.form.field.Text',
xtype: 'passFile',
requires: ['Ext.form.trigger.Component'],
//禁止自动填充
autoComplete: 'off',
inputType: 'password',
//自定义样式
cls: 'password',
triggers: {
cutoverButton: {
type: 'component',
//只读时隐藏,此功能未测试
hideOnReadOnly: true,
preventMouseDown: false
}
},
/**
* @private 创建切换按钮
*/
applyTriggers: function(triggers) {
var me = this,
triggerCfg = triggers.cutoverButton;
//增加切换按钮
if (triggerCfg) {
triggerCfg.component = Ext.apply({
xtype: 'button',
ownerCt: me,
//加入小图标
iconCls: 'x-fa fa-eye',
id: me.id + '-triggerButton',
ui: me.ui,
listeners: {
scope: me,
click: me.onCutoverClick
}
});
return me.callParent([triggers]);
}
// <debug>
else {
Ext.raise(me.$className + ' requires a valid trigger config containing "button" specification');
}
// </debug>
},
onCutoverClick: function(t) {
var type = 'password',
iconCls = 'x-fa fa-eye';
if (!t.isText) {
type = 'text';
iconCls = 'x-fa fa-lock';
}
t.isText = !t.isText;
//切换图标
t.setIconCls(iconCls);
//切换输入框类型
this.inputType = type;
this.inputEl.dom.type = type;
}
});
 /*#region 自定义密码控件*/
.password {
.x-form-trigger { .x-btn-default-small {
border:;
background: none !important; .x-btn-icon-el-default-small {
color: black;
}
}
}
}
/*#endregion*/

ux.form.field.Password 密码与非密码状态切换的更多相关文章

  1. ux.form.field.KindEditor 所见所得编辑器

    注意需要引入KindEditor相关资源 //所见所得编辑器 Ext.define('ux.form.field.KindEditor', { extend: 'Ext.form.field.Text ...

  2. ux.form.field.Verify 验证码控件

    //验证码控件 Ext.define('ux.form.field.Verify', { extend: 'Ext.container.Container', alias: ['widget.fiel ...

  3. ux.form.field.TreePicker 扩展,修复火狐不能展开bug

    /** * A Picker field that contains a tree panel on its popup, enabling selection of tree nodes. * 动态 ...

  4. ux.form.field.SearchField 列表、树形菜单查询扩展

    //支持bind绑定store //列表搜索扩展,支持本地查询 //支持树形菜单本地一级菜单查询 Ext.define('ux.form.field.SearchField', { extend: ' ...

  5. ux.form.field.Year 只能选年的时间扩展

    效果如图,亲测6.2.1版本可用,用法同时间选择控件 //只选择年的控件 Ext.define('ux.picker.Year', { extend: 'Ext.Component', alias: ...

  6. ux.form.field.Month 只能选年、月的时间扩展

    效果如图,亲测6.2.1版本可用,用法同时间选择控件 //月弹窗扩展 //只选月 Ext.define('ux.picker.Month', { extend: 'Ext.picker.Month', ...

  7. ux.form.field.GridDate 支持快速选择日期的日期控件

    效果如图,亲测6.2.1版本可用 /** *支持快速选择日期的日期控件 */ Ext.define('ux.form.field.GridDate', { extend: 'Ext.form.fiel ...

  8. 如何在主Form出现之前,弹出密码验证From,Cancel就退出程序,Ok后密码正确才出现主Form

    如何在主Form出现之前,弹出密码验证From,Cancel就退出程序,Ok后密码正确才出现主Form本文地址 :CodeGo.net/5175478/ ----------------------- ...

  9. mysql5.7 mysql库下面的user表没有password字段无法修改密码

    如题所述,mysql5.7  mysql库下面的user表没有password字段无法修改密码, 5.7版本已经不再使用password来作为密码的字段了  而改成了authentication_st ...

随机推荐

  1. python2中urllib2模块带cookies使用方法

    #!/usr/bin/python # coding=utf-8 #############方式1######################### import urllib2 cookie = & ...

  2. db2 load报文件系统满

    使用db2 load导入数据 数据量比较大时常常会报文件系统已满错误. 原因分析:导入表建有索引,在load的“索引复制”阶段会从系统临时表空间拷贝到目标表空间,导致系统临时表空间所在的文件系统满,l ...

  3. javascript对属性的操作

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. MYSQL千万级数据量的优化方法积累

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  5. Nginx之——日志按日期分割的实现(基于CentOS操作系统)

    Nginx自身是没有按日期切割日志的功能,可以用shell脚本实现.新建一个cut_log.sh, #!/bin/sh # Program: # Auto cut nginx log script. ...

  6. splash

    function main(splash, args) splash.images_enabled = false //不加载图片 assert(splash:go(args.url)) assert ...

  7. Cocos Creator脚本开发事例

    HelloWorld.js window.Global = { gint: 168, }; cc.Class({ extends: cc.Component, properties: { label: ...

  8. docker中的数据库

      注:自从开始使用docker,部署方面的事情就简单多了.使用docker构建的数据库容器不用直接安装,开启后就可以使用,也比以前方便很多.下面将一些要点记录下来. 下面的例子使用以下环境: - 系 ...

  9. python3 cookie

    最近再次学习python,本来就是一个菜鸟,我按照 Python CGI编程 发现读cookie 读取不了,后来发现它这种写的方式也不怎么靠谱. Python中Cookie模块(python3中为ht ...

  10. 初学vue出现空格警告的原因及其解决办法

    初学vue自己新建一个vue项目来做学习demo.不过在编写代码时一直出现空格不规范的警告.严重影响初学者的热情.错误如下图所示.(这样的错误很多,但大概翻译成中文的意思都是说空格使用不规范.) 这是 ...