ExtJS 4.2 评分组件
上一文章是扩展ExtJS自带的Date组件。在这里将创建一个评分组件。
目录
1. 介绍
2. 示例
3. 资源下载
1. 介绍
代码参考的是 Sencha Touch 2上的一个RatingStar扩展插件,在此基础上做了移植到ExtJS 4.2,并扩展了默认值、form表单支持等功能。
1.1 JavaScript代码
/*!
* 评分组件
*/
Ext.define('App.Demo.RatingStarFiledDemoTab', {
extend: 'Ext.panel.Panel',
layout: 'fit',
closable: true,
reload: function () {
},
initComponent: function () {
var me = this; // panel渲染后
me.on('afterrender', function () { });
var _container = AkExtJS.extjs.createPanel({
layout: 'vbox',
items: [
Ext.create('Ext.form.Display', {
width: '100%',
value: '<h1>评分组件</h1>' +
'<p>文章地址:<a href="http://www.cnblogs.com/polk6/p/5965570.html" target="_blank">http://www.cnblogs.com/polk6/p/5965570.html</a></p>' +
'<p>此处为创建一个新的组件:评分组件</p>'
}),
Ext.create('Js.ux.RatingStarField', {
name: 'speedScore',
fieldLabel: '发货速度',
labelWidth: 60,
width: 220,
}),
Ext.create('Js.ux.RatingStarField', {
name: 'serviceScore',
fieldLabel: '服务态度',
labelWidth: 60,
width: 220,
}),
Ext.create('Js.ux.RatingStarField', {
name: 'desScore',
fieldLabel: '描述相符',
labelWidth: 60,
width: 220,
value:3
}),
Ext.create('Ext.button.Button', {
text: '设置【发货速度】为5星',
handler: function (thisControl, event) {
_container.down('[name=speedScore]').setValue(5);
}
}),
Ext.create('Ext.button.Button', {
text: '取值',
handler: function (thisControl, event) {
var txt = '发货速度:' + _container.down('[name=speedScore]').getValue() + '<br/>' +
'服务态度:' + _container.down('[name=serviceScore]').getValue() + '<br/>' +
'描述相符:' + _container.down('[name=desScore]').getValue() + '<br/>';
Ext.Msg.alert('系统提示', txt);
}
}),
]
}); Ext.applyIf(me, {
items: [_container]
});
me.callParent(arguments);
}
});
1.2 Css样式
.x-rating{min-height:25px;}
.x-rating .x-component-outer{position: relative; padding:0.6em;min-height: 40px;}
.x-rating .starContainer, .x-rating .starFakeContainer{position:absolute; top:0px;left:0px; width:100%; height:100%; }
.x-rating .starFakeContainer{z-index:10;}
.x-rating .starContainer{display:-webkit-box; -webkit-box-align:center;-webkit-box-pack:center;}
.x-rating .starContainer .center, .x-rating .starContainer .left, .x-rating .starContainer .right{-webkit-box-flex:1}
.x-rating .star{border:0px !important;padding:0px !important;margin:0px 0px 0px -12.5px !important;position:absolute; left:16.66%; -webkit-mask:url(/images/star.png) left center no-repeat; -webkit-mask-size:25px 25px; background-color:#ff0000; width:25px; height:25px; opacity:.2; -webkit-transform: scale(1,1);}
.x-rating .star2{left:33.33%;}
.x-rating .star3{left:49.99%;}
.x-rating .star4{left:66.66%;}
.x-rating .star5{left:83.33%;}
.x-rating .star.active{-webkit-transform: scale(1,1); opacity:1;}
1.3 图标
1.4 成员
| 名称 | 类型 | 说明 |
| value | 属性 | 初始化时指定星数,数值范围0~5。默认为0。 |
| setValue(value) | 方法 | 设置评分组件的数值,数值范围0~5。 |
| getValue() | 方法 | 获取评分组件的数值。 |
2. 示例
2.1 运行图

2.2 代码
Ext.create('Js.ux.RatingStarField', {
fieldLabel: '发货速度',
labelWidth: 60,
width: 220,
}),
Ext.create('Js.ux.RatingStarField', {
fieldLabel: '服务态度',
labelWidth: 60,
width: 220,
}),
Ext.create('Js.ux.RatingStarField', {
fieldLabel: '描述相符',
labelWidth: 60,
width: 220,
value:3
})
3. 资源下载
3.1 Demo下载
地址:ExtJS4.2_RatingStarDemo.zip
3.2 在线示例
地址:http://www.akmsg.com/ExtJS/index.html#App.Demo.RatingStarFiledDemoTab
ExtJS 4.2 评分组件的更多相关文章
- ExtJS 4.2 Grid组件的单元格合并
ExtJS 4.2 Grid组件本身并没有提供单元格合并功能,需要自己实现这个功能. 目录 1. 原理 2. 多列合并 3. 代码与在线演示 1. 原理 1.1 HTML代码分析 首先创建一个Grid ...
- 干货之运用CALayer创建星级评分组件(五角星)
本篇记录星级评分组件的创建过程以及CALayer的运用. 为了实现一个星级评分的组件,使用了CALayer,涉及到mask.CGPathRef.UIBezierPath.动画和一个计算多角星关键节点的 ...
- Angular 星级评分组件
一.需求演变及描述: 1. 有一个“客户对公司的总体评价”的字段(evalutation).字段为枚举类型,0-5,对应关系为:0-暂无评价,1-很差,2-差,3-一般,4-好,5-很好 2. 后来需 ...
- JS原生评分组件
JS原生评分组件 <html> <head> <meta http-equiv="Content-Type" content="text/h ...
- EXTJS 4 树形表格组件使用演示样例
EXTJS 4 树形表格组件使用演示样例 一.总体效果图 version=1&modificationDate=1412058826000&api=v2" alt=" ...
- Full-featured Vue 评分组件
分享一下最近写的 vue 的评分组件 Features: 支持半星.可清除.文案展示.只读.自定义颜色.自定义字符及图片等.支持 hover 的时候改变 value.内置三种样式,以及非常好看 DEM ...
- 【CSS】329- 非常强!3行核心css代码的rate评分组件
像rate评分组件一般都用javascript写,所以这次将是一个全新的尝试,用css实现一个rate评分 ❗ 核心代码也就三行? 01 效果图 02 原理 主要是借助radio单选框,梳理如下: 去 ...
- react 实现评分组件
写了个评分组件,效果如下 组件Rate.js import React, { Component } from 'react' import './Rate.less' export default ...
- 原生JS结合cookie实现商品评分组件
开发思路如下: 1.利用JS直接操作DOM的方式开发商品评分组件,主要实现功能有:显示评价评分的样式以及将用户操作后对应的数据返回到主页面 2.主页面引入商品评分组件的js文件并根据规定格式的数据,生 ...
随机推荐
- C# 发送邮件 附件名称为空
示例代码: // 1.创建邮件 MailMessage mailMsg = new MailMessage(); mailMsg.To.Add(new MailAddress("test@ ...
- 【原】FMDB源码阅读(一)
[原]FMDB源码阅读(一) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 说实话,之前的SDWebImage和AFNetworking这两个组件我还是使用过的,但是对于 ...
- Android Button的基本使用
title: Android Button的基本使用 tags: Button,按钮 --- Button介绍: Button(按钮)继承自TextView,在Android开发中,Button是常用 ...
- Shell碎碎念
1. 字符串如何大小写转换 str="This is a Bash Shell script." 1> tr方式 newstr=`tr '[A-Z]' '[a-z]' < ...
- Unity3D 5.3 新版AssetBundle使用方案及策略
1.概览 Unity3D 5.0版本之后的AssetBundle机制和之前的4.x版本已经发生了很大的变化,一些曾经常用的流程已经不再使用,甚至一些老的API已经被新的API所取代. 因此,本文的主要 ...
- JAVA回调机制解析
一.回调机制概述 回调机制在JAVA代码中一直遇到,但之前不懂其原理,几乎都是绕着走.俗话说做不愿意做的事情叫做突破,故诞生了该文章,算是新年的新气象,新突破! 回调机制是什么?其实回 ...
- java 线程 Lock 锁使用Condition实现线程的等待(await)与通知(signal)
一.Condition 类 在前面我们学习与synchronized锁配合的线程等待(Object.wait)与线程通知(Object.notify),那么对于JDK1.5 的 java.util.c ...
- javaScript生成二维码(支持中文,生成logo)
资料搜索 选择star最多的两个 第一个就是用的比较多的jquery.qrcode.js(但不支持中文,不能带logo)啦,第二个支持ie6+,支持中文,根据第二个源代码,使得,jquery.qrco ...
- BPM配置故事之案例1-配置简单流程
某天,Boss找到了信息部工程师小明. Boss:咱们新上了H3 BPM,你研究研究把现在的采购申请流程加上去吧,这是采购申请单. 小明:好嘞 采购申请单 小明回去后拿着表单想了想,开始着手配置. 他 ...
- Kotlin与Android SDK 集成(KAD 05)
作者:Antonio Leiva 时间:Dec 19, 2016 原文链接:https://antonioleiva.com/kotlin-integrations-android-sdk/ 使用Ko ...