显示/隐藏基于自定义对象的字段

Show/hide fields based on custom object

本文关键字:对象 字段 自定义 隐藏 显示      更新时间:2023-09-26

我想做的是在一个地方,用key: value对对象(如本例中的vm.foo)来显示和隐藏我的字段。例如,我可以把另一对放在我的对象上,比如:1502: true,我可以用它来隐藏我的字段,关键字是1502

如果有任何方法可以将我的变量从控制器传递给hideExpression使用。

虽然hideExpression属性设置为true
,但这里只是一个链接,指向相同的小示例,其中项未隐藏http://jsbin.com/rorocitoqi/edit?html,js,输出

下面只是一个小片段,hideExpression似乎没有从vm.foo[bar]中获得我的值,但当我检查console.log的值是否存储在vm.foo中时。如果有人能提供正确的指导方针,因为我刚开始使用formly,谢谢:)

vm.foo = {      
  1000: true,
  1021: false,
  3204: true
};
var bar = 1000;
console.log(vm.foo[bar]);

{
  key: 'text',
  type: 'checkbox',
  templateOptions: {
    label: 'Hidden box'
  },
  hideExpression: 'vm.foo[bar]'
}

您误解了hideExpression的工作原理。它是一个与expressionProperties相似(不完全相同)的formlyExpression

以下是工作示例:

{
  key: 'text',
  type: 'checkbox',
  templateOptions: {
    label: 'Hidden box'
  },
  hideExpression: function() { return vm.foo[bar] }
}