本篇参考:

https://trailhead.salesforce.com/content/learn/modules/flow-implementation-2/debug-flows-as-another-user

https://developer.salesforce.com/docs/platform/lwc/guide/create-components-dom-work.html?q=ref#refs

https://developer.salesforce.com/docs/platform/lwc/guide/reference-directives.html

 一. Flow debug as other user

随着项目上的Flow的使用越来越多,我们也需要多关注Flow的一些有用的功能。今天整理的是Debug Flow as other user。我们在项目中偶尔有需求是针对指定的Profile/Role进行某些操作,比如我们的需求是当User Profile是Custom: Sales Profile 并且创建Account数据时,不允许创建Account Type是Channel Partner / Reseller的数据。我知道这个需求可以通过Validation Rule解决,这里只是举一个例子引出我们后续的内容。

当我们创建好这个flow以后,我们最好在flow active以前做好所有的测试,所以debug是必不可少的环节。因为我们当前的user并不是这个profile,所以如何进行测试呢? 我们可以在Process Automation Settings中启用标红的选项。

当我们勾选以后进入Flow,点击debug按钮以后勾选 Run flow as another user便可以解决此种类似的问题。

 二. lwc中使用Refs获取元素

我们以前获取元素可以通过template.querySelector,除此以外,我们还可以通过ref标记component,然后js端快速获取。以下为简单例子:

refSample.html: 组件元素通过lwc:ref属性设置

<template>
<lightning-input type="text" label="Demo" lwc:ref="demo"></lightning-input><br/>
<lightning-button label="output Demo Value" onclick={handleOutputAction}></lightning-button><br/>
{outputValue}
</template>

refSample.js:js中可以直接使用全局变量 this.refs. + 在html中声明的名称即可获取到对应的组件元素。

import { LightningElement, track, wire } from 'lwc';

export default class refSample extends LightningElement {
outputValue;
handleOutputAction(event) {
//以下两种写法都可以正常的获取
this.outputValue = this.refs.demo.value;
// this.outputValue = this.template.querySelector('lightning-input').value;
}
}

lwc:ref也是有一些限制的:

  • 只读类型,不能set value;
  • 不能用于 template或者slot元素上。比如这种声明就会报错。

    <template lwc:ref="myTemplate"></template>

  • 不能用于for:each 或者 iterator循环中。
  • 使用前需要声明,如果获取不到,返回undefined。(这里做一下扩展,我们在开发时,可能html端声明了lwc:ref但是这个在 template:if中,如果值为false,组件不渲染,后台通过 refs获取还是为 undefined,所以获取以后尽量的判断一下是否 undefined)

总结:本篇整理了两个项目中可能会用到的小特性,篇中有错误地方欢迎指出,有不懂欢迎留言。

salesforce零基础学习(一百三十五)项目中的零碎知识点小总结(七)的更多相关文章

  1. salesforce零基础学习(九十六)项目中的零碎知识点小总结(四)

    本篇参考: https://developer.salesforce.com/docs/atlas.en-us.216.0.apexcode.meta/apexcode/apex_classes_ke ...

  2. salesforce 零基础学习(三十五) 通过Process Builder和Approval Processes锁定记录(Lock Record)

    有的时候我们可能有这样的需求,当某个字段为特定的值情况下,便锁定此条记录,仅允许Profile为System Admin的用户修改或者解锁,其他的用户只能查看此条记录,不能修改此条记录,这种情况下我们 ...

  3. salesforce 零基础学习(三十)工具篇:Debug Log小工具

    开发中查看log日志是必不可少的,salesforce自带的效果显示效果不佳,大概显示效果如下所示: chrome商城提供了apex debug log良好的插件,使debug log信息更好显示.假 ...

  4. salesforce 零基础学习(四十五)Approval Lock & UnLock相关注意事项

    我们都知道,当一条记录进入审批流程以后会自动加锁,apex提供Approval类的lock和unlock方法可以让我们使用代码对记录进行加锁和解锁. 项目中遇到一个需求,需要当某种情况下对记录进行先解 ...

  5. salesforce 零基础学习(三十九) soql函数以及常量

    在salesforce中,我们做SOQL查询时,往往需要用到计算式,比如求和,求平均值,或者过滤数据时,往往需要通过时间日期过滤,SOQL已经封装了很多的函数,可以更加方便我们的sql查询而不需要自己 ...

  6. salesforce 零基础学习(三十六)通过Process Builder以及Apex代码实现锁定记录( Lock Record)

    上一篇内容是通过Process Builder和Approval Processes实现锁定记录的功能,有的时候,往往锁定一条记录需要很多的限制条件,如果通过Approval Processes的条件 ...

  7. salesforce零基础学习(八十五)streaming api 简单使用(接近实时获取你需要跟踪的数据的更新消息状态)

    Streaming API参考链接: https://trailhead.salesforce.com/en/modules/api_basics/units/api_basics_streaming ...

  8. salesforce 零基础学习(三十八)Translate 的使用(国际化处理)

    本篇参考:http://resources.docs.salesforce.com/200/17/en-us/sfdc/pdf/salesforce_workbench_cheatsheet.pdf ...

  9. salesforce 零基础学习(三十四)动态的Custom Label

    custom label在项目中经常用到,常用在apex class或者VF里面用来显示help text或者error message.有的时候我们需要用到的信息是动态变化的,那样就需要动态来显示信 ...

  10. salesforce 零基础学习(三十二)通过Streams和DOM方式读写XML

    有的时候我们需要对XML进行读写操作,常用的XML操作主要有Streams和DOM方式. 一.Streams方式 Streams常用到的类主要有两个XmlStreamReader 以及XmlStrea ...

随机推荐

  1. 【Unity3D】空间和变换

    1 空间 1.1 左右手坐标系及其法则 1.1.1 左右手坐标系 左手坐标系与右手坐标系 ​ Unity 局部空间.世界空间.裁剪空间.屏幕空间都采用左手坐标系,只有观察空间采用右手坐标系. ​ 左右 ...

  2. Swoole从入门到入土(18)——WebSocket服务器[心跳ping]

    由于 WebSocket 是长连接,如果一定时间内没有通讯,连接可能会断开.这时候需要心跳机制,WebSocket 协议包含了 Ping 和 Pong 两个帧,可以定时发送 Ping 帧来保持长连接. ...

  3. AIGC程序员效能提升之道

    得益于IT产业近几年的繁荣,老杨所在公司的业务也出奇的兴隆,每天干不完的工作背后,也意味着健康的消耗和体重的不断增加. 曾记否,刚毕业的老杨体重刚刚堪堪破百,同事们经常调侃他说是一阵风就能吹走,经过了 ...

  4. r0capture 原理分析

    r0capture 是比较好用的抓包工具 仅限安卓平台,测试安卓7.8.9.10.11.12 可用 : 无视所有证书校验或绑定,不用考虑任何证书的事情: 通杀TCP/IP四层模型中的应用层中的全部协议 ...

  5. logback 常用配置(详解)

    转自:https://blog.csdn.net/qq_36850813/article/details/83092051 官方文档参考:https://logback.qos.ch/manual/a ...

  6. 【Azure Logic App】添加 Storage Account 来提升 Logic App 的性能

    文章原文:https://techcommunity.microsoft.com/t5/azure-integration-services-blog/scaling-logic-app-standa ...

  7. 【Azure Spring Cloud】部署Azure spring cloud 失败

    问题描述 使用Azure CLI指令部署Azure Spring Cloud项目失败,错误消息提示没有安装"azure.storage.blob"模块 问题分析 根据错误提示,是p ...

  8. 【XInput】手柄模拟鼠标运作之 .NET P/Invoke 和 UWP-API 方案

    上一篇中,老周简单肤浅地介绍了 XInput API 的使用,并模拟了鼠标移动,左.右键单击和滚轮.本篇,咱们用 .NET 代码来完成相同的效果. 说起来也是倒霉,博文写了一半,电脑忽然断电了.不知道 ...

  9. 多线程系列(十一) -浅析并发读写锁StampedLock

    一.摘要 在上一篇文章中,我们讲到了使用ReadWriteLock可以解决多线程同时读,但只有一个线程能写的问题. 如果继续深入的分析ReadWriteLock,从锁的角度分析,会发现它有一个潜在的问 ...

  10. MYSQL索引-下

    前言 丁奇老师的 MYSQL45讲 的关于索引的的两节 深入浅出索引,做个笔记 覆盖索引 插入一个实例表 mysql> create table T ( ID int primary key, ...