首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Salesforce学习 Lwc(十二)【Lightning Message Service】

前边讲过方法【this.dispatchEvent()】的用法,可以实现父子Lwc组件之间的相互调用,今天讲解Communicate Across the DOM with Lightning Message...Service,使用【Lightning message service】在Lightning页面内跨DOM进行通信,可以实现在嵌入在同一Lightning页面的Visualforce页面,Aura...组件Lightning Web组件之间进行通信,可以不用 1.Create a Message Channel 首先在【lwc】同级目录下,新建【messageChannels】文件夹,在里边新建...【publish()】函数进行消息发布,直到组件生命周期销毁为止, ·固定写法:引入【publish】,【MessageContext】 import { publish, MessageContext...)】创建【MessageContext】object,用以提供有关【Lightning web component】的信息 ·在初期化方法调用【subscribe】函数,取得传过来的参数【RecordId

1.1K10

Salesforce LWC学习(四十九) RefreshView API实现标准页面更新,自定义组件自动捕捉更新

providerMethod—(Required) 一个函数,用于标识刷新过程开始时要调用的回调函数。 处理程序回调需要返回一个代表其特定元素的刷新状态的 Promise。...; 11 12 connectedCallback() { 13 // Session Setting --> Use Lightning Web Security for Lightning...比如一个组件去this.dispatchEvent(new RefreshEvent()); 另外一个组件进行注册以及处理。这种场景不在本篇的范围,感兴趣的小伙伴可以自行尝试。...总结:篇通过一个demo来介绍RefreshView API的两个方法以及所可以达到的标准页面更新,自定义组件进行捕捉的demo。...使用这个功能需要启用 lightning locker或者lightning web security,此api还有一些其他的方法以及一些限制没有讲,只是抛砖引玉,感兴趣的小伙伴可以自行查看文档。

12710
您找到你想要的搜索结果了吗?
是的
没有找到

Salesforce LWC学习(二十九) getRecordNotifyChange(LDS拓展增强篇)

简而言之, LDS实现了记录得跨组件共有,并且当前得记录在跨组件得版本相同,从而实现不同得组件展示当前记录同样得内容。在lwc,有两个部分自动实现了LDS。...lightning-record-form/lightning-record-view-form/lightning-record-edit-form lightning/ui*Api模块得所有得wire...下方页面由几部分组成,因为在lightning,一个页面可能包含多个组件,多个组件可能共用数据,使用LDS得好处是所有得缓存都是同一个版本,即一个修改改变了version以后,所有的使用当前LDS的都重新刷新版本到最新...,只能使用apex; 隐式调用方法,比如我们点某个按钮或者在生命周期函数调用某些后台方法。...举例说明,我们对 上面demo的wiredAccountgetRecord方法换成后台 通过apex获取数据。

74710

Salesforce LWC学习(三十九) lwc下quick action的recordId的问题和解决方案

web component,找到一条account,我们看一下效果。...至少lwc的文档没有查看到,所以我们需要先找到 aura的文档,因为aura是lightning experience的第一版,我们只需要看一下 force:hasRecordId的文档去碰一下运气看看有没有即可...通过描述愈发的感觉这是因为 lwc quick action的兼容性导致的问题,或者说是一个bug,因为这个并不符合说的显示记录的上下文的描述,而且同样代码作为组件放在record page即可以生效。...并且可以正常的运行 总结: 篇只是暴露出recordId在lwc quick action下的问题,其他的情况暂时使用正常,以及3种workaround方案。...篇demo没有考虑缓存,也没有优化代码,感兴趣的小伙伴自行优化。

89910

salesforce lightning零基础学习(六)Lightning Data Service(LDS)

本篇可参看:https://trailhead.salesforce.com/modules/lightning_data_service Lightning针对object的detail页面,一个lightning...lightning,我们使用 Lightning Data Service(LDS)去服务于数据层面,LDS 提供了对数据的访问。...端获取object的template还是客户端获取; callback:当object创建完以后的回调函数,此函数没有任何参数,创建完成以后会自动调用此方法。...使用LDS的事件监听有4类型: CHANGED / LOADED / REMOVED / ERROR。 名字可以看出来分别对应着 更改 / 加载 / 移除 / 错误。...这种方式在lightning还是很常见的,但是如果涉及到复杂的数据关联的改动或者transaction需要进行多次更新操作,建议不使用LDS换成后台controller中去做。

67051

Salesforce LWC学习(三十六) Quick Action 支持选择 LWC了

背景: 我们现在项目越来越多的使用 lwc 进行了前端开发,当然我们知道lwc并不能所有的场景都支持自己玩,比如组件之间的navigation、 quick action等都需要通过aura进行操作,...点击以后执行一个web service或者做一个跳转操作,用户不希望弹出来modal,只是希望进行即可。...我们查阅官方文档以后,发现这个使用起来很简单,就是基于lightning design system的modal来实现,属性可以设置 header属性,代表action的头部,slot设置了footer...当然,官方除了可以使用 lightning-quick-action-panel组件以外,也支持自己使用html去适配。...2. lwc弹出的modal的宽度是固定的,如果客户希望更改lwc弹出的modal的宽度,则无法实现,这种在aura可以通过 aura:tag注入可以搞定 3.

73020

Salesforce LWC学习(二十三) Lightning Message Service 浅谈

以往我们可能想着,简单,将这两部分组成到同一个父组件,Gallery的某个item点击以后,传递一个事件到父,父进行handler处理以后,将record id 传递给右侧的组件,右侧组件这个reRender...sample我们声明了一个fieldName为recordId的名称是 BoatMessageChannel的 lightning message channel信息。...Message Channel for the Lightning Web Components Superbadge....如果我们在 BOATMC声明了两个变量,一个是 recordId,一个是recordData,则我们的 publish方法包含这三部分即可。...,当我们指定APPLICATION级别接收消息情况下,设置成{scope: APPLICATION_SCOPE},如果APPLICATION级别,头部需要从lightning/messageService

72910

Salesforce LWC学习(三十六) Quick Action 支持选择 LWC了

点击以后执行一个web service或者做一个跳转操作,用户不希望弹出来modal,只是希望进行即可。...X这个关闭按钮,所以同样也没法在这个操作监听事件(如果大神们可以监听到,麻烦告知,我这里在修改)。...我们查阅官方文档以后,发现这个使用起来很简单,就是基于lightning design system的modal来实现,属性可以设置 header属性,代表action的头部,slot设置了footer...当然,官方除了可以使用 lightning-quick-action-panel组件以外,也支持自己使用html去适配。...2. lwc弹出的modal的宽度是固定的,如果客户希望更改lwc弹出的modal的宽度,则无法实现,这种在aura可以通过 aura:tag注入可以搞定 3.

71300

Salesforce LWC学习(四十七) 标准页面更新以后自定义页面如何捕捉?

call apex方法的问题,通过 dispatchEvent / handler方式来搞定父子组件通信的事情,通过pub / sub事件模型来搞定跨组件通讯问题,通过 lightning message...如上的内容都是自定义组件之间或者自定义组件的行为渲染到标准组件。那我们如何针对标准组件的更新作用到自定义页面,然后自定义页面捕捉到这些事件操作呢? 本篇提供两种思路。..., { recordId: '$recordId', fields: [NAME_FIELD]}) // eslint-disable-next-line no-unused-vars...lightning record page 二....通过Flow或者Trigger,Account Name包含test情况下,发布Platform Event. 3. lwc进行订阅:这里看一下加粗的两行,messageCallback函数看上去有自己的上下文

15910

salesforce lightning零基础学习(七) 列表展示数据时两种自定义编辑页面

所以简单的说一下这两个标签: lightning:recordViewForm:此标签封装了一个wrapper,通过recordId, 使用lightning:outputField用来展示记录相关的字段值以及...如果recordId为空,则进行创建一条数据的功能,如果recordId有值,则进行更新记录功能。...:想要编辑的记录的record type id,用于指定新建/编辑记录的record type onload:Form数据加载后触发的回调函数; onsubmit:Form数据submit后触发的回调函数...; onsuccess:数据操作成功后的回调函数; onerror: 数据操作失败后的回调函数; 更多属性请参看:https://developer.salesforce.com/docs/component-library...showCustomPopover:此方法用于弹出一个弹出框,类似标签title样式,hover后在旁边展示的描述信息的效果。

89240

Salesforce LWC学习(五) LDS & Wire Service 实现和后台数据交互 & meta xml配置

针对LWC的LDS和aura的功能原理很像,区别可能是语法和标签的区别。所以这里对LDS不做过多的描述,直接展开标签的用法。 LWC 封装了3个最基础的组件去和数据进行交互。...此组件通常和lightning-input-field一起用,用来显示需要编辑的字段。...使用封装的函数进行LDS增强 我们在组件中使用@wire标签在javascript中去获取数据,这些数据由lightning/ui*Api 模块的一个wire adapter获取。...这里需要注意的一点是,针对wire声明的方法无法使用此方法进行刷新缓存操作。 如果声明了方法我们想清空缓存,需要先声明变量。然后方法对此变量赋值,然后再refreshApex传递声明的变量。...LDS在LWC的使用方式以及在LDS功能无法满足情况下,如何使用wire service以及访问后台方法进行增强。

2.6K50

Salesforce LWC学习(十七) 前端知识之 onclick & onblur & onmousedown

在Salesforce LWC学习(八) Look Up组件实现篇,我们实现了公用的lookup组件,使用的过程,会发现当我们输入内容以后,搜索出来的列表便无法被清空。 ?...针对此种情况我们打算优化一下代码,针对前端的输入框,增加onblur函数,当鼠标移除情况下,设置searchTerm为空字符串并且不让下方的options展示,当鼠标移入或者输入内容情况下在展示下方的options...this.record = undefined; } } //To get preselected or selected record @wire(getRecord, { recordId...下面的ul li的onclick事件无法调用到只能调用到input的onblur的事件,针对这种情况我们最终只需要将li的事件onclick 修改成onmousedown即可完美的解决上述的问题。...总结:篇主要是通过优化共通方法来引出 onclick / onblur 的执行顺序问题以及提出如何解决此种问题的方案,知识点很简单,纯粹前端知识,篇中有错误地方欢迎指出,有不懂欢迎留言。

1.3K40

Salesforce LWC学习(四十六) record-picker组件浅谈

一. lightning-record-picker lightning-record-picker组件允许你基于输入的内容返回所对应的数据列表并且直接进行渲染,使用 GraphQL wire adapter...object-api-name="Account"> 效果显示:这个UI效果,如果做过 custom lookup组件的小伙伴应该很熟悉...注:官方文档这里的代码写的是错误的,如果直接复制粘贴无法运行,因为filterLogic位置不正确。...事件: 组件封装了几个标准行为的事件,其他的小伙伴自行查看,这里只介绍 change事件,handler用于返回所选中的recordId信息。demo会和下面的一起介绍。...官方文档中有一些错误,导致复制粘贴无法运行,不要怀疑自己,修改以后重新尝试。篇中有错误地方欢迎指出,有不懂欢迎留言。

16310

salesforce零基础学习(一百一十二)项目中的零碎知识点小总结(四)

为开始,后面的内容通过base64解码以后,便会有这个父记录的一些主要的信息,比如 当前的 type, recordId, objectApiName等信息。...这里有两个需要注意的点: aura component一定要实现 url:isAddressable,否则无法获取到 state; 针对inContextOfRef的了解以及获取,获取以前非空判断,防止前端报错...组件的margin/padding设置:我们看到图中的button都是有一点距离的,使用的是slds-m-left_x-small来实现。...这里可以参考文档:https://www.lightningdesignsystem.com/utilities/margin/,通过文档,我们可以看到,如果我们将m 改成了 p,即设置的是组件的padding...当然,demo的内容都是在lightning design system可以很好的查到的,没事也可以多刷一刷 lds的 Utilities内容。

60720
领券