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. 我们通常这样使用Linux弱口令检测!

    在Internet环境中,过于简单的口令是服务器面临的最大风险,对于管理员来说,即使找出这些弱口令账号是非常必要的,这样便于采取进一步的安全措施. 这里的话,弱口令检测需要用到一款密码破译软件--Jo ...

  2. npm 使用报错合集

    1.Unexpected end of JSON input while parsing near '...e,"directories":{},"d' 这个问题经常会出 ...

  3. Vue脚手架创建项目出现 (Failed to download repo vuejs-templates/webpack: Response code 404)

    搭建好(脚手架2.X版本)环境像往常一样使用vue init webpack xxxx 创建项目可以是没多久就开始报错了 报错结果就是:vue-cli · Failed to download rep ...

  4. 聊聊Django应用的部署和性能的那些事儿

    随着工作的深入,我越来越发现Python Web开发中有很多坑,也一直在羡慕AspNetCore和Go等的可执行文件部署和高性能,以及Spring生态的丰富,不过因为工作用了Django,生活还是要继 ...

  5. Python 写入excel时的字体格式设置

    转自:https://blog.csdn.net/kuangzhi9124/article/details/81940919 下面代码设置了单元格的字体.位置居中.框线,可以将格式调成自己需要的 im ...

  6. IDEA中项目的两种打包方式

    本文主要介绍在IDEA中怎么打包,及可以用哪种方式打包. 若是有指正或补充的,欢迎留言~  ٩(●̮̃•)۶ 接下来进入正题: IDEA中打包需要先进行配置,so,我们先打开<abbr titl ...

  7. springboot2.2 集成 activity6 请假完整示例

    新手学习记录.写在springboot test 示例  示例代码地址看结尾.后面有带页面的示例. SpringBoot Test无页面简单示例 员工请假流程 员工发起申请,附带请假信息(请假几天) ...

  8. 第二章 Java基础知识(下)

    2.1.分支结构(if.switch) 2.1.1.if语句 格式一: if (关系表达式) { 语句体; } 流程一: ①首先计算关系表达式的值 ②如果关系表达式的值为true就执行语句体 ③如果关 ...

  9. Python os.fstat() 方法

    概述 os.fstat() 方法用于返回文件描述符fd的状态,类似 stat().高佣联盟 www.cgewang.com Unix,Windows上可用. fstat 方法返回的结构: st_dev ...

  10. PHP convert_uuencode() 函数

    实例 编码字符串: <?php$str = "Hello world!";echo convert_uuencode($str);?>高佣联盟 www.cgewang. ...