Angular formly - 删除值隐藏字段

时间:2017-01-12 10:02:54

标签: javascript angularjs

我有一种有棱有角的形象,就像这里一样; http://jsbin.com/fohiqahoxu/edit?js,output

此时如果在输入中键入了某些内容,请先输入' firstInput'出现复选框(它不再被隐藏,因为' firstInput'有一个值)。

选中复选框时,复选框的值设置为true。 当输入' firstInput'正在删除复选框设置为隐藏但复选框的值保持为true。 当隐藏复选框的值时,如何将其设置为null?

谢谢!

这里是js文件的重要部分(从上面链接的jsbin中复制):

function getFields() {
  // return your fields here
  return [
    {
      key: 'firstInput',
      type: 'input',
      templateOptions: {
        label: 'Input',
        placeholder: 'Formly is terrific!'
      },
      expressionProperties: {
        'templateOptions.label': 'model[options.key] || "Input"'
      }
    },
    {
      key: 'checkbox',
      type: 'checkbox',
      templateOptions: {
        label: 'Hidden box'
      },
      hideExpression: '!model.firstInput'
    }
  ];
}

2 个答案:

答案 0 :(得分:0)

您可以通过将checkbox元素放入变量(可能的任何方式,如document.getElementById)来禁用它 而不是通过将其状态设置为false来取消选中它: checkboxElement.checked = false

答案 1 :(得分:0)

好的,我找到了解决方案。似乎只是文档的一部分......(经验教训;如果问题没有得到立即回答,请仔细阅读,不要急躁;再考虑(并阅读)。

http://angular-formly.com/#/example/very-advanced/remove-property-on-hide

我稍后会在此答案中添加更多文档。我不删除我的问题的原因是因为将来可能会像我一样有相同问题的人会在他们的搜索中来到这里。然后他们不必进一步观察:)