2

尝试使用可以在此页面上看到的 md-selected-html 表达式。:

https://material.angularjs.org/latest/api/directive/mdSelect

在我能找到的互联网上没有这种用法的例子。我已经能够在网络上找到 md-selected-text 表达式的示例而没有问题。下面的第一个 codepen 是此工作和 javascript 函数触发的示例。

https://codepen.io/anon/pen/ONEQmE?editors=1010

<md-select ng-model="selectedItem" md-selected-text="getSelectedText()">
          <md-optgroup label="items">
            <md-option ng-value="item" ng-repeat="item in items">Item {{item}}</md-option>
          </md-optgroup>
</md-select>

下面是我的版本,其中存在 md-selected-html 表达式并且没有触发 javascript 函数。关于为什么这不起作用的任何想法?

https://codepen.io/billBlankenship/pen/bWJvvo?editors=1010

<md-select ng-model="selectedItem" md-selected-html="getSelectedText()">
          <md-optgroup label="items">
            <md-option ng-value="item" ng-repeat="item in items">Item {{item}}</md-option>
          </md-optgroup>
</md-select>
4

1 回答 1

0

md-selected-html 表达式 "要评估的表达式将返回一个字符串,当它关闭时,将在选择输入框中显示为占位符。该值将被视为 html。该值必须明确标记为trustedHtml 或必须加载 ngSanitize 模块。

您需要传递一个将返回字符串的表达式。请注意最后一句话,字符串(被视为 html)应该是trustedAsHtml 或必须加载ngSanitize 模块。

我的工作示例:

<md-select md-selected-html="getSelectedHtml()" ...>

angular.module("myApp", ['ngSanitize']).controller('myController', function($scope){
   $scope.getSelectedHtml = function(){
      return "<span>Your custom html here</span>";
   }
});
于 2019-10-31T11:03:55.487 回答