<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Model-Driven App on Yven</title><link>http://www.yven.cn/tags/model-driven-app/</link><description>Recent content in Model-Driven App on Yven</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 29 Jul 2026 08:36:41 +0000</lastBuildDate><atom:link href="http://www.yven.cn/tags/model-driven-app/index.xml" rel="self" type="application/rss+xml"/><item><title>PCF Multiselect Records 控件配置笔记</title><link>http://www.yven.cn/posts/pcf-multiselect-records/</link><pubDate>Sun, 22 Jun 2025 00:00:00 +0000</pubDate><guid>http://www.yven.cn/posts/pcf-multiselect-records/</guid><description>&lt;h2 id="背景"&gt;背景&lt;/h2&gt;
&lt;p&gt;在 Model-driven App 中，原生的 Lookup 字段只支持单选。当需要实现多选记录关联时，可以借助社区优秀的 PCF 控件来扩展。本文记录使用 &lt;strong&gt;Víctor Sánchez&lt;/strong&gt; 开发的 &lt;a href="https://github.com/victorsolaya/Multiselect_Records_PCF"&gt;Multiselect Records PCF&lt;/a&gt; 控件时，字段配置过程中遇到的关键问题。&lt;/p&gt;
&lt;h2 id="配置要点"&gt;配置要点&lt;/h2&gt;
&lt;h3 id="1-绑定字段类型选择"&gt;1. 绑定字段类型选择&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;不要直接绑定 Lookup 字段。&lt;/strong&gt; 需要新建一个 &lt;strong&gt;Multiple Lines of Text&lt;/strong&gt;（多行文本）类型字段来承载 PCF 控件的数据。&lt;/p&gt;
&lt;div class="code-block-wrapper"&gt;
 &lt;button class="copy-btn" onclick="copyCode(this)"&gt;复制&lt;/button&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;字段类型：Multiple Lines of Text → Text Area
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;绑定方式：将该字段拖入表单 → 配置为 PCF 控件&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这样 PCF 控件会将选中的记录 ID 序列化存储在该文本字段中。&lt;/p&gt;
&lt;h3 id="2-field-filter-values-写法"&gt;2. Field Filter Values 写法&lt;/h3&gt;
&lt;p&gt;如果 Filter 条件绑定的是表单上的&lt;strong&gt;自定义 Lookup 字段&lt;/strong&gt;，参数写法需要在字段名后加 &lt;code&gt;_value&lt;/code&gt; 后缀：&lt;/p&gt;
&lt;div class="code-block-wrapper"&gt;
 &lt;button class="copy-btn" onclick="copyCode(this)"&gt;复制&lt;/button&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 自定义 Lookup 字段「新客户」的 filter 参数
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;_new_accountid_value&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 而非
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;_new_accountid&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这是因为 Lookup 字段在 DOM 中的实际值存储在 &lt;code&gt;_value&lt;/code&gt; 属性中。&lt;/p&gt;
&lt;h3 id="3-columns-参数格式"&gt;3. Columns 参数格式&lt;/h3&gt;
&lt;p&gt;配置 Columns（显示列）时，&lt;strong&gt;Display Name 和 fieldName 缺一不可&lt;/strong&gt;，且格式必须严格：&lt;/p&gt;
&lt;div class="code-block-wrapper"&gt;
 &lt;button class="copy-btn" onclick="copyCode(this)"&gt;复制&lt;/button&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;Display Name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;客户名称&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;fieldName&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;Display Name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;客户编号&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;fieldName&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;accountnumber&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;Display Name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;城市&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;fieldName&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;address1_city&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;⚠️ 注意是 &lt;code&gt;Display Name&lt;/code&gt; 和 &lt;code&gt;fieldName&lt;/code&gt;，不能写成 &lt;code&gt;displayName&lt;/code&gt; 或 &lt;code&gt;display_name&lt;/code&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="参考资源"&gt;参考资源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/victorsolaya/Multiselect_Records_PCF"&gt;Multiselect Records PCF - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Víctor Sánchez 的原始实现&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;三个关键点：&lt;/p&gt;</description></item></channel></rss>