- 博客(21)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注

原创 react native 自适应位置的下拉选择框(react-native-selfadapt-modal)
react native 可定位的下拉选择框在实际开发过程中,下拉选择应该是比较常用的功能。我在项目开发中先后使用了以下两种第三方插件:react-native-popup-menu...
2019-06-20 16:00:40
8931

原创 react 无状态组件与纯组件(pureComponent)
无状态组件与纯组件(pureComponent)1.1 无状态组件无状态组件可以通过减少继承Component而来的生命周期函数而达到性能优化的效果。从本质上来说,无状态组件就是一个单纯的render函数,所以无状态组件的缺点也是显而易见的。因为它没有shouldComponentUpdate生命周期函数,所以每次state更新,它都会重新绘制render函数。原则上,只要一个组件只具有re...
2018-09-20 14:18:44
13003
1
原创 XAF 通知模块的功能实现
前言业务简介: 通过现有的A类进行一系列数据处理生成包含通知功能的B类。B类实例的通知时间根据A类实例的某属性自动生成,不允许手动编辑。任一通知实例只针对特定用户,而不是对全体用户推送。很意外的是,关于这部分的功能,官方示例全都使用 Entity Framework 数据模型实现。给习惯了使用XPO的我们造成了一点麻烦。实际上,使用XPO实现这部分的功能要更为简单。实现 ISupportNotifications 接口ISupportNotifications 接口需要实现4个字段:AlarmTim
2021-03-29 18:31:58
318
原创 XAF的ListView中控制部分行的可编辑性的方法
场景在自定义的 PopupWindow 中包含了一个允许编辑的 ListView ,但是对于特定的某些数据(在界面呈现为某些行)不允许进行编辑。例如: ListView 呈现了某个业务类( BusinessObjects ) 的所有成员——使用其 Caption 表示。并且使用勾选框来决定某个成员在其业务类所对应的 ListView 中显示与否。其中必填字段是必须显示的,因此不能够对其进行编辑。如图所示,客户编号和客户名称是必填字段,因此不能编辑。等级和描述是选填的,因此可以编辑。实现思路使用条件
2021-01-20 20:15:43
436
原创 XAF 整数类型自增的实现
XAF本身并未提供整型数据自增的装饰器,在社区搜索后,找到了一个较为简便思路(见下文),实践后发现确实可行。在数据库中创建自动增量的列在 Visual Studio 中点开 “SQL Server 对象资源管理器”,选中需要操作的表,右键进入视图设计器,在T-SQL面板中添加自增的字段,并执行更新。插入的代码为:[Total] INT IDENTITY (11, 1) NOT NULL,说明 ,方括号中的是字段名, IDENTITY 代表将字段设置成自增, 第一个参数表示初始值, 第二个参数表
2020-12-24 19:18:22
307
1
原创 XAF自定义登录页
本文参阅官网文档 How to: Use Custom Logon Parameters and Authentication 加以实践并做简单的总结归纳。修改登录页面文本信息如果需要修改登录页面文本信息或实现本地化,可以双击解决方案中module工程下的 .xafml 文件,进入模型编辑器,在项目树结构中展开 Views 节点 → 展开 DevExpress.ExpressApp.Security → 展开AuthenticationStandardLogonParameters_DetailVie
2020-12-21 17:32:01
522
原创 XAF自定义启动页
本主题是官网指导教程 Use a Custom Class to Show a Splash Form 的补充。演示了如何创建自定义启动页(splash form)并使用。具体步骤1. 创建一个Splash Form窗体右键解决方案中的WinForms应用工程(xxx.win),在弹出菜单中选择"添加"->“新建项”。在弹出的窗体中点击 “Windows Form” -> “窗体(Windows 窗体)”,在窗体的最下方的名称中输入文件名"SplashScreenForm.cs",随后
2020-12-19 16:44:20
381
1
原创 React实现footer在页面没有充满屏幕情况下的适配
背景需求是当页面内容超出一屏的是否,footer跟随内容显示在其下方;当页面内容不满一屏时固定在屏幕的下方。图形示意正常情况下,当页面内容过少,footer会跟随内容显示,导致footer下方还会有一些空白,如下图:而我们想要实现的效果是将footer置于页面的最下方,内容和footer之间留白,如下图所示:思路一开始我企图使用css技巧实现上述效果,查找了一些文档(见于博客最下方),甚至引用了一些第三方插件……最终还是失败了,可能跟使用的框架有关系吧(我使用的是GATSBY)。重点来了
2020-06-01 11:57:27
915
原创 react native关于style类型的属性(PropTypes)确认
先做一下错误(❎)示范:import PropTypes from 'prop-types';static propTypes = { containerStyle: PropTypes.style,}结果:Warning: Failed prop type: LocationIndex: prop type containerStyle is invalid; it mus...
2019-10-24 11:58:15
1498
原创 关于react-native-updater-client
关于react-native-updater-clientpackage.json中引用:react-native-updater-client:"react-native-updater-client": "git+http://172.15.16.186/ReactNative/RNUpdaterClient.git#RN0.33"手动配置步骤:1)APP文件夹build.grad...
2019-10-15 11:42:58
264
原创 react native Text组件首行缩进
中文段落一般都会有首行缩进。然而react native的Text组件并没有直接提供相关的配置属性。在最近的开发中遇到了一个看似简单的需求,要实现如下图的效果重点是需要在标题的左边添加一个分类的标识,而这个标识不能直接使用Text嵌套实现。因为这个标识区域是有边框的。有人可能会问为什么不直接使用marginLeft呢?那将回事另一种效果,如下图所示我的思路是对标题进行首行缩进,空出相应...
2019-07-18 09:47:25
8153
3
原创 react native 绑定this的几种方式
对于react native 绑定this,我将其归类为以下四种方式:bind 箭头函数 ::运算符使用箭头函数定义函数首先明确观点,我向大家推荐第四种方式:1.bindclass TestBind extends React.Component { constructor(props) { super(props); this.s...
2018-09-12 10:18:09
1624
原创 react native 代码执行(一)
今天继续学习react native 源码react native Android端代码执行的大体流程:第一步:在应用的Application里做RN的初始化操作。有两个需要注意的对象:ReactNativeHost:持有ReactInstanceManager实例,做一些初始化操作。重载方法onCreate里面的SoLoader:加载C++底层库,准备解析JS。第二步:...
2018-07-15 20:42:39
717
原创 React Native与原生模块、组件之间的关系浅析(二)
那么书接上回,今天主要是继续探究React Native与原生模块的架构方式。原生模块原生模块可以访问activity、运行环境、GPS、存储空间等。原生模块就是能够在JavaScript层调用的API。因为对原生模块的全部请求都要异步执行。如果原生方法需要为JavaScript层的调用返回数据,该操作将通过promise或者回调函数来完成。React Native为这两种方式都提供了...
2018-07-09 15:57:02
575
原创 React Native与原生模块、组件之间的关系浅析
原生组件当React Native开始渲染一个界面时,原生层会建立与该界面结构一样的镜像。桥接层把规则(组件属性)从React Native所描绘的UI层传递给原生层。最终在屏幕上看到的,就是React组件转译成相应原生组件的结果。以下我们将探究: - ViewManager(“视图管理器”)如何管理原生UI组件; - React组件属性如何传递给在原生层定义的函数并选择处理方式。Re...
2018-07-08 14:57:57
1947
原创 react native 动画组件(Animated)浅析
简述react native封装了两个易于使用的动画组件。用于全局的布局动画LayoutAnimation,和用于创建更精细的交互控制的动画Animated。本章主要对Animated组件进行简单的学习。动画类型Animated提供了三种动画类型。每种动画类型都提供了特定的函数曲线,用于控制动画值从初始值变化到最终值的变化过程:Animated.decay()以指定的初始速度...
2018-06-28 16:40:07
3619
原创 对于JavaScript中对象参数的传递方式的浅析
本文章主要是想探索一下JavaScript中,对象类型的参数的传递方式背景:按值传递(call by value)是最常用的求值策略:函数的形参是被调用时所传实参的副本。修改形参的值并不会影响实参。按引用传递(call by reference)时,函数的形参接收实参的隐式引用,而不再是副本。这意味着函数形参的值如果被修改,实参也会被修改。同时两者指向相同的值。let ...
2018-06-27 11:53:57
958
原创 JavaScript instanceof运算符浅析
描述instanceof 运算符用来检测构造函数的 prototype 属性是否存在于参数 object 的原型链上。语法object instanceof constructor参数object 要检测的对象. constructor 某个构造函数...
2018-06-14 17:35:32
214
原创 原型链浅析
原型链prototype属性和__proto__属性普通对象是没有prototype属性的,只有隐藏属性__proto__(但是建议不要使用__proto__属性)。而函数对象则两者兼有。prototype属性指向的是函数对象的原型对象,而__proto__属性可称为隐式原型,一个对象的隐式原型指向构造该对象的构造函数的原型,这也保证了实例能够访问在构造函数原型中定义的属性和方法。...
2018-06-13 20:28:31
207
原创 基于Object.assign源码的分析
前言: 在使用babel将ES6转换为ES5后,获取了Object.assign方法的ES5版本。基于此版本的代码进行如下的扩展学习。rowData=Object.assign(rowData,obj);//ES5版本代码如下:var _extends = Object.assign || function (target) { for (var i = 1; i < a...
2018-06-12 15:42:41
1429
原创 将zxing扫码界面改为竖屏的问题
1. 功能概述默认的ZXing Demo提供的是横屏扫描,不符合现在市场的流行趋势和用户的使用习惯,然而在修改界面为竖屏的过程中,我们发现zxing无法读取条形码数据(二维码可以正常读取)。修改布局的过程不再赘述。2. 修改说明1) 在AndroidManifest.xml中,把Activity的属性的screenOrientation设置为"portrait"。在开发android的应用中...
2018-06-08 17:38:46
1723
小白求App制作工作路线
2015-09-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人