是否可以将多个参数传递给 Ember Power Select 中的 onChange 操作?

2024-03-26

我目前正在使用优秀的ember-电源-选择 https://ember-power-select.com作为一部分添加ember-bootstrap 形式 https://www.ember-bootstrap.com/api/classes/Components.Form.html.

我在表单上有多个下拉项目,我试图将它们的处理方式统一到一个可以用作onChange电源选择调用中的操作:

{{#form.element 
    controlType="power-select" 
    label="Destination" 
    value=destinationSelection
    options=destinationOptions
    as |el|}}
    {{#el.control   
        onChange=(action "setDropDown")
        searchField="name"  
        as |item|}}
        {{item.name}}
    {{/el.control}}
{{/form.element}}

我的处理函数将根据下拉列表的选择简单地设置一些值:

actions: {
     setDropDown(selected, string) {
      handleDropDown(selected, dropdown, this)
    }
}

function handleDropDown(selected, dropdown, controller) {
  let selection = `${dropdown}Selection`
  let modelid = `model.${dropdown}_id`

  set(controller, selection, selected)
  set(controller, modelid, selected.id)

}

为了让它工作,我真的需要能够将一个字符串传递给setDropDown行动从onChange组件调用的一部分,否则我无法告诉处理函数应该设置哪些特定字段,而无需为每个下拉列表创建操作。

但是,当我尝试传递多个参数时,例如

onChange=(action "setDropDown" "destination") 

or

onChange=(action "setDropDown" selected "destination")

我失去了基本功能onChange将所选项目作为第一个参数的操作。

我浏览了文档,找不到任何库作者将多个参数传递给onChange行动并想知道是否可以在不破坏库功能的情况下进行。


您可以使用专门的高阶辅助函数来创建一个操作ember-power-select这最终将通过额外的参数调用您的操作。考虑这个助手handle-dropdown

import { helper } from '@ember/component/helper';

export function invokeFunction([prop, action]) {
    return function(){
        action(prop, ...arguments);
    }
}

export default helper(invokeFunction);

所以我们在这里做的是创建将被调用的函数ember-power-select。在此函数中,我们调用原始操作prop首先,然后是每个论点ember-power-select调用了我们的onchange函数与.

在您的模板中,在将操作传递给power-select

{{#power-select 
   onchange=(handle-dropdown 'foo' (action 'dropdownChanged')) 
   as |dropdown|}}

然后你的行动就是

actions: {
  dropdownChanged(keyToSet, selectedValue){
    this.set(keyToSet, selectedValue);
  }
}

这最终会调用dropdownChanged('foo', /* the selected value */)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以将多个参数传递给 Ember Power Select 中的 onChange 操作? 的相关文章

  • 是否可以将多个参数传递给 Ember Power Select 中的 onChange 操作?

    我目前正在使用优秀的ember 电源 选择 https ember power select com作为一部分添加ember bootstrap 形式 https www ember bootstrap com api classes Co
  • ember-simple-auth,验收测试和等待异步操作

    努力应对验收测试 从基本登录测试开始 import test from qunit import moduleForAcceptance from static tests helpers module for acceptance mod
  • Ember CLI 实时重新加载不工作

    我见过其他类似的问题here https stackoverflow com questions 25439380 live reload not working with ember cli and here https stackove
  • 删除 Ember 数据中 POST/PUT 操作的 JSON 根元素

    我正在使用一个 Web 服务 该服务在 POST PUT 动词中需要如下所示的 JSON id CACTU companyName Cactus Comidas para llevar contactName Patricio Simpso
  • 如何让 jQuery Mobile 停止破坏 Ember.js 网站?

    我有一个用 Ember js 编写的网站 导航基于带有 符号的 url 我已经包含了 jQuery Mobile 我也有 jQuery 标准 jQuery 还可以 但是当我包含 jQuery Mobile 时 奇怪的事情发生了 符号从 UR
  • emberjs 和 Foundation4

    我正在尝试使用 emberjs 和 Foundation 4 现在使用 zepto 框架 但一旦我将 emberjs 添加到我的 application js 中 基础代码就停止工作 包含的顺序有问题吗 require jquery req
  • Ember.js - jQuery-masonry + 无限滚动

    我正在尝试在我的 ember 项目中实现无限滚动和砌体工作 砖石 砖块 是带有文字和图像的柱子 目前 我可以在页面初始加载时显示第一页并应用砌体 不过 我仍然需要执行 setTimeout 试图找出如何摆脱它 我还有基本的无限滚动代码 现在
  • 将带有参数的视图组件渲染到名为outlet ember.js 中

    我的应用程序模板中有 2 个命名网点 slider area and pre footer 有没有一种方法可以传递带有参数的视图组件 如main slider索引模板中显示的组件是否连接到命名出口 所以我需要通过 main slider s
  • Ember.js:从集合中检索随机元素

    我有这样的路线 App RandomThingRoute Ember Route extend model function return App Thing find random 这需要一趟 things randomAPI端点 我在控
  • ember 中可重用对象的架构

    我正在使用 ember 构建一个管理仪表板 我想创建一个可重用的图表对象 我可以在整个应用程序中拥有多个实例 图表对象应该有一个由一些标记和一个画布元素组成的模板 在插入 DOM 后我需要其 id 以便附加实际的图表 chart js 我尝
  • Ember 路由、控制器、视图

    我已阅读 Ember js 网站上的大部分初学者指南 但我仍然对放置内容的正确位置感到困惑 Route 根据在线研究 人们建议将与路由相关的逻辑放入路由中 一切都很好 但我唯一能想到的是this transisionTo 我在其他地方读到所
  • 如何获取 ember 应用程序控制器中模板复选框的值

    我正在尝试查找控制器中是否选中了该复选框 这是我的模板 这是我的控制器 App Ember Application create App ApplicationController Ember Controller extend
  • Ember:断言失败:EmberObject.create 不再支持定义计算属性

    我使用的是 Ember 2 16 版本 我们升级到了 3 8 版本升级后 我看到此错误 但无法弄清楚错误来自何处 在什么情况下我会收到此错误 我看到其中一篇帖子 Ember JS 中的动态计算属性已弃用 https stackoverflo
  • Ember.js - 根据对象属性更新 CSS 宽度

    正如中提到的 安多罗夫的回答 https stackoverflow com a 32593118 565877 OP的理想代码 div style width 1 现在从 Ember 1 10 开始几乎可以正常工作 我是 Ember js
  • Ember 组件在路由或控制器中调用操作

    我有一个组件 其主要目的是显示一行项目 每行都有一个删除按钮 可以删除一行 如何将操作从模板传递到将在路由器中触发操作的组件 这是使用该组件的模板 templates holiday hours hbs each model as holi
  • Ember 模型中的自定义请求 url

    我正在尝试将 Ember 数据与已构建的 REST api 一起使用 它适用于顶级路由 例如我在 api 端有课程路由 如下所示 app get courses app controllers courses findAll app get
  • 在 Ember 2.0 中存储瞬态 UI 状态的位置

    Ember 2 0 竭尽全力让一切都成为组件 随着可路由组件的推出 控制器也可能会被淘汰 Context 然而 在构建用户界面时 我经常遇到一个问题 到目前为止我还没有令人满意的模式 用户界面状态 我在做什么 选择状态 当前焦点 某些树显示
  • 告诉 ember.js 对其模型的“id”使用不同的密钥

    我陷入了不应该回来的境地idAPI 端点中的字段 我需要告诉 ember 使用slug字段为 而不是id I tried DS RESTAdapter map App Post id key slug 虽然这对于App Post find
  • 对 EmberJS 对象的反思?如何在事先不知道密钥的情况下查找属性密钥列表

    如果您事先不知道所有密钥 是否有办法检索 EmberJS 对象的 set at creations 属性 通过检查器 我看到所有似乎存储在元对象中的对象属性values哈希 但我似乎找不到任何方法来恢复它 例如object getPrope
  • 在 EmberJS 中获取父路由

    我正在制作一个可重用 有点多态 的评论小部件 我想要一个按钮 使我能够返回到父路由 例如 如果我位于 blog posts 1 comments 我希望该按钮将我带回 blog posts 1 我目前正在使用transitionToRout

随机推荐

  • Android 中流畅的视频擦除

    我正在尝试使用 Android 实现流畅的视频擦除VideoView The seekTo的方法MediaPlayer没有完全按照我想要的方式做 它并不完全寻求我在其中传递的毫秒 它实际上从 跳转到最近的位置 而不是我想要的确切位置 框架也
  • 如何按顺序循环 GET/POST 调用(等待上一个)返回?

    我正在为网页编写 Tampermonkey 脚本 并尝试从其他页面提取数据 我正在尝试创建一个内部有一个循环遍历列表的函数 llcList 并从 ajax 方法 GET 检索数据 但希望等待第一个请求完成后再转到第二个请求 如果我能让它多等
  • 如何找出 Android 中的 GMT 偏移值

    如何找出用户的 GMT 值 例如印度为 05 30 如何在 Android 中计算 05 30 值 我需要这个 因为我在我的应用程序中使用一个java库 它有一个带有这个 05 30字段的函数 我想通过计算生成这个字段 这样我就不必填写国家
  • Visual Studio 2008 中无法识别的标记前缀或设备筛选器

    我有一组 Web 控件 位于网站引用的程序集中 我可以毫无问题地构建和运行所有内容 但是当我查看正在使用控件的 aspx 页面时 我会在标签前缀下方看到一条绿色下划线
  • 删除字符串中多余的空格

    我想使用 VB net 删除多余的空格 ex The Quick Brown Fox 我要输出 The Quick Brown Fox 谢谢 英奇卡 您可以使用一个简单的正则表达式来实现 Dim cleaned As String Rege
  • 如何从传递到 scalatags 的事件处理程序访问“this”元素?

    我正在尝试访问当前的文本 this 元素来自使用 scalatags 创建的事件处理程序 这是我尝试过的 val onChange e HTMLElement gt number e textContent toInt js ThisFun
  • Rails/ActiveRecord 按月+年分组并计数

    我有一张桌子Albums有一个date列名为release date 我想获得所有月份 年份组合的列表以及该月份 年份发行的专辑数量 因此 输出可能类似于 2016 年 11 月 11 2016 年 10 月 4 2016 年 7 月 19
  • DropArea 不会通知有关 onEntered、onExited、onDropped 的操作

    I have Rectangle洋溢着MouseArea其中上onPressAndHold 处理程序透露第二个Rectangle和转账drag对此采取行动Rectangle 问题是当我移动那一秒时Rectangle over DropAre
  • Kendo UI 树视图父节点不带复选框

    什么方法可以实现显示带有复选框的 TreeView 但我不需要父节点的复选框 仅适用于没有子项的 项目 即 我正在显示文件夹结构 但不希望仅针对文件为任何文件夹设置复选框 Thanks 你应该使用使用复选框模板 http docs kend
  • 64 位 Windows 上的 32 位和 64 位互操作性

    是否有讨论 32 位和 64 位进程之间的互操作性的全面权威参考资料 根据谷歌搜索 我推断出 32位DLL只能驻留在32位进程中 64位DLL只能驻留在64位进程中 32位和64位进程只能使用松散耦合的消息系统进行通信 例如网络通信 这意味
  • 按属性名称对 JavaScript 对象进行排序

    我已经寻找了一段时间 想要一种对 Javascript 对象进行排序的方法 如下所示 method artist getInfo artist Green Day format json api key fa3af76b9396d0091c
  • Typescript 抽象属性

    几天前我开始学习打字稿 我知道所有主要的 OOP 概念 但我只是不理解抽象属性背后的概念 我知道您必须在子类中重写 实现基类的抽象成员 但是 它有什么用呢 我了解抽象方法背后的概念 但不是这个 如果您能为我提供一些很好的例子 我将非常感激
  • Scala 逐行调度流响应

    我正在尝试使用 Scala 调度 但既是 Scala 新手 又面对 Dispatch api 符号疯狂的问题 我对如何流式传输大型 http 响应并逐行处理它感到困惑 任何帮助 将不胜感激 干杯 克里斯 Note 这对我不起作用 Http
  • 散点图对数刻度

    在我的代码中 我取两个数据系列的对数并绘制它们 我想通过将 x 轴的每个刻度值提高到 e 次方 自然对数的反对数 来更改它 换句话说 我想绘制两个系列的对数 但 x 轴为水平 这是我正在使用的代码 from pylab import sca
  • 取决于特定项目的公共单元中的条件编译?

    在Delphi XE2中 我有一个单元MyUnit pas由两个不同的项目使用ProjectA and ProjectB MyUnit包含一个声明DoSomething 这是在其他单位实施的程序其他单位 pas 现在我想用条件编译包括DoS
  • vb6中动态两级或多级子菜单生成

    朋友们 告诉我怎么做生成1级以上的子菜单在VB6中运行时 简单解释一下 有什么具体的控制措施吗 但我不想使用外部控件 您可以使用API 函数创建多级子菜单 Private Declare Function CreatePopupMenu L
  • 将 jQuery 插件转换为 TypeScript

    好的 首先这是我非常基本的 jQuery 插件 function fn greenify function options var settings extend These are the defaults color 556b2f ba
  • Selenium WebDriver 测试失败并出现 System.Net.WebException 无法连接

    我正在开发一套 Selenium WebDriver 不是 Selenium RC 也不使用 Selenium Server 测试 这些测试是通过命令行调用 MSTest 来执行的 我已将它们分解为我们计划测试的每个浏览器 目前是 Chro
  • Docker-Compose、NGINX 和热重载配置

    我有一个通过 docker compose 运行的功能全栈应用程序 奇迹般有效 唯一的问题是团队必须重建整个应用程序以反映更改 这意味着把整个事情搞砸docker compose down 我正在寻求帮助来更新下面的文件以允许热重载 OR
  • 是否可以将多个参数传递给 Ember Power Select 中的 onChange 操作?

    我目前正在使用优秀的ember 电源 选择 https ember power select com作为一部分添加ember bootstrap 形式 https www ember bootstrap com api classes Co