表达式函数分类

为了提供数据处理功能,以及业务逻辑功能,MisShop提供了多种功能强大的函数

一、函数功能分类:
1、值函数:使用函数来获取一个值。在任何需要值的地方及其复杂表达式的一部分
a、如Date.now(),获取当前时间
List.create(),创建一个列表对象
str(12),将数值12转换成字符串"12"
it.名称,获取it变量集的名称字段的值
A3.get(1),当A3这个单元格的数据类型为列表时,获取A3的第二个值
b、dynamic(A1):dynamic函数是非常特殊的一个函数,其本质是用来获取一个单元格的值,比如dynamic(A1),其返回结果就是A1单元格的值。其特殊在于,在浏览器中操作一个页面的时候,dynamic函数会跟着其参数单元格的值(也可能是其他属性)变化而立即变化,与所操作单元格有关的dynamic函数的表达式,都会立即重新计算,并刷新对应的展示。这个特殊效果,MisShop称之为动态计算。

2、更新函数:页面中操作的内容,尤其是表单的输入,需要更新到数据库中保存,那么这些更新过程,就是通过更新属性。
a、MisShop会智能化的收集页面中的变量集字段,并建立单元格与数据表字段间的更新对应关系。
b、然而有些数据并不是简单的直接将页面中输入的值存到数据库字段中。比如入库操作,将是将此次入库的数量在原来基础上增加,并不是直接覆盖,那么这个更新过程通过简单设值是无法完成的。可通过save.dbIncrement(it.库存)来实现。
c、还有条件更新,比如当前登录用户为admin时可新增、可修改,其他登录用户不可新增、只可修改,可通过save.onlyUpdate(me.名称 != "admin")来实现。等等非简单直接覆盖的更新功能。
d、这些更新函数,一般都收集到save.下面
e、这些更新函数,一般写在单元格的保存至属性中

3、查询函数:用于收集查询条件。以query.开头,表示以当前单元格的值,作为查询条件的比较对象,与query表达式中的字段进行比较。如果查询字段后没有比较操作符,则使用查询字段的字段类型的默认比较符进行比较。可写在值表达式或者保存至表达式中。如果是在保存至表达式中,则可使用|分隔,对应于多个字段的比较。

4、扩展函数:在MisShop设计的页面中,使用扩展函数来逐条展示集合数据。
a、最常用的扩展函数为ds.select():将ds变量集逐条展示
ds.group():将ds变量集分组后逐条展示
to(1,3):从1开始扩展,扩展到3,显示3条

b、这种扩展函数,一般都在单元格值表达式中,在单元格会标识一个箭头。
image.png

c、用于值表达式中

5、验证函数:用于在页面中操作表单的时候,验证表单的输入值是否满足要求。

a、单元格右键-->单元格验证:
image.png

b、如果在数据表的字段配置了验证类型:


image.png

那么在页面中,如果是此字段的可编辑单元格,会自动生成单元格验证

5、动作函数:在控件的高级配置中,添加动作函数配置,用于浏览器上的操作反馈。
image.png

二、函数输入分类:
1、基本函数:直接输入,如to()
2、静态函数:归属于某一对象空间下的静态函数,可使用对象空间.来进行表达式提示,如Date.now()
3、对象函数:归属于某一对象下的对象函数,可使用对象.进行表达式提示,如Date.now().addDay()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容