问题标签 [angular-formly]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1298 浏览

javascript - ui-select 的角度形式问题

我正在尝试将 Angular-Formly 与使用 $http 的 Angular ui-select 一起使用以获得结果。

当用户输入时,选项应该会刷新。当我从另一个文本输入中设置模型时,ui-select 会正确更新并根据输入到文本框中的内容显示相应的结果。

但是,当我直接在 ui-select 框中键入时,我没有取回值,并且 templateOptions.options 函数不会触发并且$viewvalue不会更新。

我似乎也无法访问$select.search已更新但在 expressionProperties 中不可用的结果。

请参阅以下重现错误的 JSBin:

http://jsbin.com/peducofaje/edit

我会很感激这方面的帮助。

0 投票
1 回答
955 浏览

validation - Angular Formly:如果用作 model[field] 而不是 model.field,则必需的验证不起作用

下面是失败的jsbin,其中条件要求的验证不起作用

https://jsbin.com/xenuzeripa/1/edit?js,输出

如果我删除点的形式字段名称并将它们更改为如下所示,我可以将这些字段用作 model.field 而不是 model[field] 并且一切都开始工作

Employment_Information__c.Other_Income_Picklist__c --> Other_Income_Picklist__c Employment_Information__c.Annual_Income__c --> Annual_Income__c

不知道是什么问题

0 投票
1 回答
674 浏览

angularjs - 重复部分之间的角度形式数据绑定

我正在尝试制作一个动态表单,该表单使用从 max_points 级联到 0 的其他字段的实时数据。

每一行都有一个高低范围,下一个形式的高范围总是前一个-1的低范围。

我在如何操作字段设置中的模型数据时遇到了麻烦。此外,我对如何在每个字段的范围内访问更大的数据模型有点困惑:

理想情况下,第一个元素的高范围是 max_points,然后之后的每个元素都将引用前一个低范围

这是我的现场示例:http: //jsbin.com/behosokoye/edit

0 投票
1 回答
854 浏览

angularjs - 在提交时获取字段的值

我已经使用 angular-formly 构建了一个表单。从视觉上看,一切看起来和表现都很好。我无法在提交时获取表单中各个字段的值(以便我可以将它们传递给各种调用以保存数据)。

这是我的代码:

OnSubmit函数中,我尝试从 中获取该字段的值,vm.occupationInfoForm但没有任何反应。

有什么建议么?

编辑:我期待这样的事情可以工作,但它返回了Undefinedvm.occupationInfoForm.occupation

编辑 2:我应该指定我无法仅访问使用上面列出的类型(职业选择)的字段。如果我有一个使用普通 INPUT 类型(或扩展 INPUT 的自定义类型)的字段,则一旦我修改该字段,该值就会添加到模型中,因此我可以访问它。但是,当我更改职业选择的选定值时,它不会添加到模型中。

0 投票
0 回答
205 浏览

javascript - 在 module.config(...) 和指令之间共享数据——AngularJS

我需要在模块的配置函数和指令之间共享一个变量。我们将 angularJS 和 formly.js 与 Kendo UI 结合使用。

formly 的自定义模板在我们模块的 config 函数中定义,但实现存储在指令中。

当在指令中触发下拉菜单的 onChange 事件时,我需要能够将一个对象从那里传递回模块配置以支持另一个功能。

重点是我的客户希望每个输入旁边都有一个图标,以便轻松清除其内容。你是否同意/不同意他们的决定并不重要,我已经尝试改变他们的想法,他们想要这个,所以就这样吧。

这是一些代码:

在定义 Kendo 下拉列表本身的指令中,我需要以上面的 deleteInputContents() 可以访问它的方式传递 dataItem 变量。

如果有人能想到实现这一目标的方法或替代方法,我将永远感激不尽。

我已经尝试过的事情:

  • 创建一个服务来传递数据。这不起作用,因为您无法访问模块配置功能中的服务
  • 将其存储为根范围的全局。这对我也不起作用,因为我无法从模块配置功能访问根范围
0 投票
2 回答
91 浏览

angularjs - 我们如何检测模型何时恢复到其原始值?

JS斌在这里

本文描述了一种巧妙的方法来查看您的(纯 Angular)表单模型自初始加载后是否发生了变化。$dirty在我看来,这是对/的更准确测试$pristine。这允许我们在模型没有改变的情况下隐藏表单的“保存”按钮,即使用户已经输入然后删除了文本。

所以问题是,我们如何用角度形式做到这一点?我的直觉是,onChange对于每个领域来说,这可能是一个很好的起点,但是我在将其余的解决方案放在一起时遇到了很多麻烦。

希望这个问题有意义。任何想法都会非常受欢迎。谢谢!

0 投票
1 回答
890 浏览

angularjs - AngularJS Formly - 重复部分验证

Angular-formly.com 有一个如何做重复部分的例子:http: //angular-formly.com/#/example/advanced/repeating-section

如果您要修改该Name of Investment字段并将其标记为必填,则在按下提交按钮时它不会被标记(因此不会突出显示该字段)。我相信这应该发生,因为它是必需的。

查看屏幕底部的表单输出,您可以看到$submitted仍然设置为false,这意味着屏幕不相信它需要担心将字段标记为红色。如果您手动单击该字段并单击退出(不输入任何内容),则该字段正确突出显示为红色。

这种重复行为是通过内部字段数组创建的。这可能会影响提交按钮的工作方式吗?

0 投票
1 回答
175 浏览

angular-formly - AngularJS Formly - 在嵌套键模型上的 hideExpression 中正确使用选择器

我最近开始使用 formly,我觉得嵌套键方法(在此处详述)是最正确的,所以我试图在我的应用程序中使用它。

我遇到了“hideExpression”中使用的选择器的问题。在此示例中,我没有找到正确的方法来使“main.retrival.location”输入显示“main.rental.retrival.flag”复选框何时打开。我尝试使用“flag”、“model.flag”、“model.rental.retrival.flag”和“main.rental.retrival.flag”,但它们都不起作用。有什么方法可以使用复选框上的值吗?

另外,我可能会发现一个问题,但我不确定。如果有两个名称相同但在不同模型中的键,并且模型变量为空,则模型选项不会被计算在内,并且两个输入的行为就像它们被绑定一样。我修改了模型示例以显示问题。

谢谢!

0 投票
1 回答
587 浏览

angularjs - AngularJS Formly - 设置字段的 ID/名称

我最初在 SO 上的另一个正式相关问题中提出了这个问题作为评论。我想这真的应该是它自己的问题......

我有一个与以下示例非常相似的字段重复部分:http: //angular-formly.com/#/example/advanced/repeating-section

查看转发器示例,所有字段都具有相同的模型名称/ID,只是在投资数组的不同元素中。是否可以给这些字段一个唯一的名称/ID?(investmentName_1、investimentName_2 等)只要其中一个验证失败,我的验证就会在所有重复部分中标记相同的字段。我有一种感觉,因为它们都有相同的型号名称/ID,因此我的验证代码标记了所有这些。

0 投票
1 回答
441 浏览

angularjs - Angular Formly:TemplateUrl 验证

我的网站有几种收集名称相关信息的形式(名字、姓氏、后缀等)。我决定创建一个简单的 html 文件来创建这些字段,而不是在各个页面上的每个控制器上添加/格式化这些字段。这个 html 文件只包含 4 个文本输入。

计划是使用这个 html 文件作为模板,因此可以很容易地在多个表单中合并相同名称的相关字段。

我创建了一个 JSBin: http: //jsbin.com/nenepuyalu/1/edit ?html,js,output

在这个例子中,我没有包括我的各种包装器或验证逻辑(太痛苦了)。也就是说,你可以看到我在哪里创建了一个新类型nameInputGroup。这种类型是一个 templateUrl 指向input-group-name.html它有两个文本输入。

我在验证这两个输入时遇到问题。由于它们没有直接添加到fields数组中,我不确定如何将字段标记为具有requiredmin/max验证要求。

有什么建议么?还是有更好的方法来实现这一点?