1.在Flow中使用Lightning Web Component(lwc)时,发现一个问题。给这个组件设置了一个输入参数,其值取自前一个Screen。第一次运行时,参数的值正确,但是如果这时退回前一个Screen,修改一下输入参数,然后再前进到这个lwc的Screen,发现lwc的输入参数值没有改变。

花了很多时间,最后才搞明白,原来只需将这个输入参数的类型设置成input,也就是在.js-meta.xml的property设置里,加上一个role="inputOnly"的属性,就可以了。

不过,比如在一个Screen里,既有lwc的标准控件如datetime picker,也有lwc,将标准控件的变量值作为lwc的输入参数,希望改变标准控件的值时,也同时改变lwc,好像做不到。原因大概是标准控件的变量值只有在Flow的导航事件发生时才赋值。而唯一能监测这个事件的只有通过validate(下面提到),而触发validate时,变量还没有赋值,所以无法检测。
 
2.在研究上面的问题时,有个副产品。在lwc的js里加个validate方法,可以实现前进到下一步时验证数据的合法性。这是validate的主要用法,但也可以利用它能在前进到下一步时触发这个特性,做些别的事,比如上传文件等。也就是说,将validate当作一个FlowNavigationNextEvent/FlowNavigationFinishEvent的监听器来使用。
另外validate方法触发时,返回isValid: false,会重新加载lwc,也就是重新触发connectedCallback方法。
 
3.使用lwc所提供的datatable,缺省是在每条记录前显示多选框(checkbox),如果要改成单选(radiobutton),只需加上属性max-row-selection="1"即可。不过,这样做的话,设置selectedRows属性,就不起作用了,也就是说,无法在datatable显示时,自动选中某列。这是lwc的datatable的缺陷。
 

Salesforce学习笔记之lwc的更多相关文章

  1. Salesforce学习笔记(一)

    Force平台简介 一.Force平台应用程序的优点1.以数据为中心的应用程序(一个对象就是一个数据库表) 由于该平台以数据库为中心,它让你能够编写以数据为中心的应用程序.以数据为中心的应用程序是基于 ...

  2. Salesforce学习笔记之代码若干

    有几段试验性的代码因为公司要更新沙盒,删除了.在本地虽然还保存了副本,但怕以后刷新时误删,所以贴一份在这里,以便需要时拷贝. 1.用aura组件包装一个flow foo.cmp: <aura:c ...

  3. Salesforce学习笔记之Actions and Recommendations(续)

    上次对这个Actions and Recommendations进行了初步研究,因为一些问题没有得到很好的解决,又花了很多时间,终于得到了一个比较好的解决方案.小结一下. 1. 生成Actions a ...

  4. Salesforce学习笔记之Actions and Recommendations

    设置Actions and Recommendations(Salesforce提供的标准元素),Salesforce上的文档说有两种方法,即Deployment和Process Builder(通过 ...

  5. 58、salesforce学习笔记(五)

    Set集合 Set<String> set1 = new Set<String>(); set1.add('1'); set1.add('2'); Set<String& ...

  6. 56、salesforce学习笔记(三)

    Date类型 Datetime nowDatetime = Datetime.now(); Datetime datetime1 = Datetime.newInstance(2015,3,1,13, ...

  7. 54、salesforce学习笔记(一)

    Decimal priceDecimal = -4.50; System.debug('小数的绝对值为:'+priceDecimal.abs()); System.debug('priceDecima ...

  8. Salesforce学习笔记之吐槽

    迄今感到的几个不方便 1. SOQL里没有SELECT * ,只好根据参考手册和用vs code的一个插件Schema Explorer来辅助生成SELECT语句. 2. SOQL不支持注释,Deve ...

  9. shell学习笔记

    shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...

随机推荐

  1. springAOP的三种实现方式

    springAOP的实现方式 三种 纯XML方式,XML+注解,纯注解方式. Spring 实现AOP思想使⽤的是动态代理技术 默认情况下, Spring会根据被代理对象是否实现接⼝来选择使⽤JDK还 ...

  2. idea中maven导入依赖报红的解决办法

    使用idea创建maven项目,maven导入依赖报红,从以下几个步骤排查解决问题: 1.首先查看maven的安装和配置有没有问题.那么,要看那些内容呢.maven的安装位置.maven的settin ...

  3. 你的JavaBean是否真的需要实现Serializable

    众所周知 如果一个对象需要进行网络传输,那么该对象就需要实现Serializable接口,为了防止反序列失败,该对象需提供一个默认的serialVersionUID(该值在反序列化的时候会进行校验校验 ...

  4. Usvn迁移

    近期由于公司需要整理所有的服务器资源进行统一管理,因此需要迁移原usvn到新环境,但是在网上查找有关usvn的迁移信息没有结果,故整理自己的通过测试的迁移方案共享给大家 迁移列表 原服务器 软件 目标 ...

  5. Spring Date JPA实现增删改查

    1.新建一个Cart类 package com.entity; public class Cart { private int id; private int userId; private int ...

  6. 在CentOS 7 上为docker配置端口转发以兼容firewall

    在CentOS 7上当我们以类似下列命令将主机端口与容器端口映射时可能遇到无法访问容器服务的问题 docker run --name web_a -p 192.168.1.250:803:80 -d ...

  7. 微服务迁移记(五):WEB层搭建(1)

    WEB层是最终表现层,注册至注册中心,引用接口层(不需要引用实现层).公共服务层.用户登录使用SpringSecurity,Session保存在redis中,权限管理没有用SpringSecurity ...

  8. 如何查看Oracle的版本

    本人使用的软件是DataGrip 在控制台输入 select * from v$version;

  9. PHP array_replace_recursive() 函数

    实例 递归地使用第二个数组($a2)的值替换第一个数组($a1)的值: <?php$a1=array("a"=>array("red")," ...

  10. PHP date_timezone_get() 函数

    ------------恢复内容开始------------ 实例 返回给定 DateTime 对象的时区: <?php$date=date_create(null,timezone_open( ...