jQuery MiniUI,快速开发WebUI界面

中文教程

ExtJS 6.7不能跨域上传文件的bug

因为要使用表单实现跨域上传文件,但是发现在6.7居然不行,需要自己手动去创建FormData对象来提交,这比较奇怪。经过分析源代码,终于找到了这个bug,主要代码如下:

解决Modern工具包中Ext.field.Date的提交值问题

使用Classic工具包的日期字段,在表单提交的时候,获取的是日期字段的提交值,也就是会在表单提交的时候会将值转换为与定义的格式相符的值。而在Modern工具包中,提交的值是原始值,也就是带有时区属性的日期值,如果在服务器端不进行时区转换,那么日期值就不是预想的值。

要解决Modern工具包中的这个问题,如果不想重写任何基类,就只能在提交前或在服务器端对值进行处理,这无疑增加了代码量。最简单直接的办法就是重写Ext.field.Panel的getValues方法,具体重写代码如下:

VSCode 升级 1.31.0 后,Sencha 扩展无法使用的解决办法

刚刚把 VSCode 升级到了 1.31.0,结果 Sencha 扩展 不能用了,打开项目时,左下角没有了下图的Ext JS: xx% indexed

打开 VSCode 的开发人员工具(帮助-切换开发人员工具),发现如下错误:

IntelliJ IDEA 支持ExtJS 6智能提示

第一步,首先去官网下载ExtJS源码文件。

第二步,解压源码,然后放置在任意位置。

第三步,打开IntelliJ IDEA ,点选“File-->Settings...”


ExtJS中xtype和alias的区别

今天在帮一个兄弟检查一段自定义控件的代码时觉得他对xtype以及alias的使用和ExtJS各示例代码的使用有较多的不一致,而我自己也不是很清楚使用这两个属性时的最佳方法。因此在回家后整理出了这样一篇文档。一方面用来标准化我们自己的代码,另一方面也共享给大家,毕竟对这两个属性进行详细讨论的资料几乎没有。

xtype

  首先来看看xtype的定义。在ExtJS的官方文档中是这样对它进行定义的:

  This property provides a shorter alternative to creating objects than using a full class name. Using xtype is the most common way to define component instances, especially in a container.

  也就是说,在定义一个类的时候,如果我们指定了它的xtype,那么我们就可以通过这个xtype,而不是类型的全名来创建这些类型。例如对于下面的布局声明:

ExtJS官方2019发展路线规划

概要


在过去的一年中,我们一直在倾听开发人员的需求,我们发现大多数对Sencha感兴趣的开发人员都是寻求以下方面的企业Web开发人员:

  • 全面的核心框架,具有最新的Javascript标准支持
  • 新的漂亮组件和主题,以创建漂亮的企业应用程序
  • 现代工具链,用于构建优化,高性能,通用的应用程序
  • 用于可视化构建应用程序的生产力工具,可视化地显示应用程序和IDE插件
  • 一整套框架,组件,主题和工具
  • 质量和测试工具,以创建企业级长期运行的应用程序
  • 升级到标准化Web组件的路径

很多来自开源网络或移动开发者也对Sencha产品表现出浓厚的兴趣,他们正在寻找:

  • 适用于开源框架的专业组件集 - React,Angular,Vue
  • 美观的现代组件,具有可扩展的API,布局,可视化主题和易于定制
  • 现代工具链,支持最新的Web工具和Web组件
  • 优化组件,构建混合渐进式移动应用程序(PWA)

ExtJS 6.6的新功能

简介
Sencha Ext JS 6.6已经支持NPM包和开放工具。Ext JS 6.6现在可以通过NPM包让开发人员使用已经相当熟悉的异常简单的工作流。现在,Ext JS开发人员可以是强大的开放式工具来快速生成、构建和更新Ext JS应用程序。Ext JS 6.6还带来了一些主要的增强,如新的现代工具包组件、新的美丽的可访问主题、现代工具包本地化、高级路由和几个Ext JS组件和框架的增强。

Ext JS 6.6 的亮点
Ext JS 6.6通过NPM和开放工具从根本上改变了Ext JS应用程序的生成和创建。此版本中的新功能包括:

Ext JS的NPM包:Ext JS标准和白金用户现在可以直接从Sencha的NPM存储库获取组件、主题和框架的NPM包。

ExtGen:新的开放工具,可以让你通过回答问题的方式来生成新的Ext JS应用程序,并提供了几个新的应用程序模版。

ExtBuild:新的开放工具,用来生成和分发应用程序

新的现代工具包组件:基于材料设计规范的时间字段以及时间面板组件以提供时间视图。

新的美丽的石墨主题可以让可访问性应用程序令人大吃一惊。

增强了对现代工具包的本地化支持。

高级Ext JS路由功能的增强。

增强了仪表组件,并提高了显示间隔值的能力。

使用Sencha cmd操作ExtJS 6

sencha cmd是用来创建,构建ExtJS 程序的工具。

准备
您需要安装好sencha cmd命令行工具。

创建应用程序
sencha cmd创建ExtJS的程序框架

HTML 和 ExtJS 组件(二)

当你要创建一个网页时, 经常会发现,你知道怎样用原生的html来创建,却不知道如何使用浩如烟海的ext组件来实现。本文将介绍一些使用ext组件创建html的一些技巧。

接着前面两节, 我们来开始第三节

事件 Events
让我们给组件添加一个click事件。下面这个例子是添加事件的基本方式,很容易理解:

HTML 和 ExtJS 组件(一)

你要创建一个网页时, 经常会发现,你知道怎样用原生的html来创建,却不知道如何使用浩如烟海的ext组件来实现。本文将介绍一些使用ext组件创建html的一些技巧。

简介

组件的渲染
首先让我们用一个简单的例子了解一下组件是如何渲染的:

/** The renderTo config option specifies a parent DOM element for
 *  rendering the component.
 *  For brevity it is not shown in the remaining examples.
 */  
new Ext.Component({renderTo: 'component-demo' });

ExtJs性能优化:tab的数据延迟加载

今天碰到一个问题,当点击某一行数据,显示详情时,由于详情又有四个子tab,每个子tab都是一个表格,有各种各样的请求,当点击该行数据显示详情时,所有的数据同时加载,导致页面卡顿,此时做ExtjS的性能优化是很重要的。
通过研究,了解了一下ExtJs的性能优化和前端的性能优化:
extJs性能优化:

  • 1.尽量不适用panel,而去使用基类container,因为panel是一个比较大的组件,附加了一些不必要的属性。
  • 2.在页面渲染之后,尽量不要再去修改页面,从而避免页面reflow或者repaint。
  • 3.减少要加载的东西,少加载少解析、晚加载晚解析
  • 4.不必要的情况下,不要使用事件监听,在监听store的load时间的时候,应该监听一次。
  • 5.避免组件封装

ExtJS动态切换主题

在Sencha Cmd构建的Ext程序中怎么去动态切换主题,目前看好像只能单一切换,但是在官网文档找到了答案 Resource Management在上一节通过Sencha Themer工具定制了三套主题,接下来配置如何动态切换这三套主题(当然自带的主题也可以)。

首先把这三套自定义主题放在当前程序ext\classic目录中去


Sencha Themer

1、介绍

在Ext JS中创建自定义主题一直是一项挑战。但是使用Sencha Themer,我们已经删除了所有的猜测工作,并添加了一个简单的图形界面来定制应用程序的任何方面。

如下所示,入门非常简单。只需命名主题,指向您的应用,工作区或空目录,然后选择您要用作基础的主题。您甚至可以选择自己的自定义主题作为扩展的起点。

2、准备工作

确保您拥有Sencha Themer的安装文件。这些文件应位于Sencha Premium下载文件夹中。您还需要方便地使用激活码。这可以在您的初始购买电子邮件中找到。您还可以从支持门户获取代码。

注意:您可以在此处下载Sencha Themer的全功能30天试用版。

Sencha Themer需要Sencha Cmd 6.5.1或更高版本。Sencha Cmd可以在这里下载

如果您已在计算机上安装了Cmd,则还可以通过从CLI发出以下命令来升级Cmd:

构建ExtJS 6.x程序

ExtJS也有自己的打包工具 SenchaCmd,它用来生成构建ExtJS前端组织架构,最后打包发布生产,操控着前端整个开发生命周期,SenchaCmd依赖于JDK,所以要先安装JDK文件 ,安装步骤自行百度,安装完并配置好JDK环境变量后去sencha官网下载SenchaCmd工具。。本文用的版本 ExtJS SDK 6.6 Sencha cmd 6.6

下载完后打开一路安装。


Sencha Visual Studio(IDE插件)

首先从官网上下载Visual Studio插件,注意不是VSCode编辑器,下载完后安装打开Visual Studio提示你去注册,输入你的sencha账号密码点击注册


Sencha Test 2.2正式版发布

我们代表整个SenchaTeam,很兴奋地宣布了Sencha Test 2.2的发布。通过超过200+的增强和补丁,Sencha Test 2.2为ExtJS应用程序的单元和端到端测试提供了一些惊人的新功能,包括强大的新代码树视图、高级组件定位器、改进的页面对象等等。

我们还很高兴与大家分享这个版本,Sencha Test现在已经不仅仅是测试Ext JS应用程序了;您现在有了一个使用ExtReact组件的Reaction应用程序的全面测试解决方案,以及增强了Web应用程序端到端测试的能力,包括那些使用Reaction和RIAR框架构建的应用程序。


Password控件 显示密码切换

现在的密码越来越复杂,为了保证输入正确,很多地方需要显示用户输入的密码来核对

效果如图:

ExtJS 6.2.1 Classic Grid 滚动条bug解决方案

如果列表同时存在横向滚动条和竖向滚动条,当竖向滚动条滚动到底部时
点击横向滚动条,滚动条会自动滚动到顶部

此bug未在其他版本发现,参考高版本代码重写类解决此bug,直接上代码:

GridDate 快速选择日期控件

效果如图,亲测6.2.1版本可用


ExtJS 6 如何引入Dashboard模版

最近很多人问我在ext js 6+的版本中怎么引入官方的dashboard模版,正好我好久没写博客了,这里我写一篇博客来说明一下。

在这里以ext js 6.2.1版本为例(注:需要安装Sencha Cmd,以及下载对应的sdk)