0

入力のタグ付けに ui-select を使用して、angular-formly のカスタム テンプレートを作成しました。

formlyConfig.setType({
        name: 'ui-tagging',
        extends: 'select',
        template: '<ui-select multiple tagging="" tagging-label="(\'new\')" ng-model="model[options.key]" theme="bootstrap" ng-required="{{to.required}}" ng-disabled="{{to.disabled}}"> <ui-select-match placeholder="{{to.placeholder}}"> {{$select.selected[to.labelProp || \'name\']}} </ui-select-match> <ui-select-choices repeat="option in to.options | filter: $select.search"> <div ng-bind-html="option | highlight: $select.search"></div> </ui-select-choices> </ui-select>',
    });

ここに問題があります。ui-select ドキュメントの例のように、タグ付けを属性に変換してタグ付けする関数を設定したいのです。

<ui-select tagging="tagTransform" .....

ui-select を使用したプランカーの例: http://plnkr.co/edit/m1SQXUxftBLQtitng1f0?p=preview

4

1 に答える 1

1

これを行うには、フィールド オプションで関数を参照するだけです。のようなもの: options.templateOptions.tagTransform(ショートカットがあります: to.tagTransform)。したがって、次のようなものがあります。

formlyConfig.setType({
        name: 'ui-tagging',
        extends: 'select',
        template: '<ui-select multiple tagging="to.tagTransform()" tagging-label="(\'new\')" ng-model="model[options.key]" theme="bootstrap" ng-required="{{to.required}}" ng-disabled="{{to.disabled}}"> <ui-select-match placeholder="{{to.placeholder}}"> {{$select.selected[to.labelProp || \'name\']}} </ui-select-match> <ui-select-choices repeat="option in to.options | filter: $select.search"> <div ng-bind-html="option | highlight: $select.search"></div> </ui-select-choices> </ui-select>',
    });

フィールド構成は次のようになります。

{
  type: 'ui-tagging',
  templateOptions: {
    tagTransform: function() {}
  }
}
于 2015-10-02T22:23:06.070 に答える