Как отобразить пустое строковое значение из ng-модели в опцию со значением = "" - PullRequest
0 голосов
/ 14 мая 2019

Angularjs добавляет опцию со значением = "?" в select с предопределенным параметром value = "", когда ng-model - пустая строка. Как можно сопоставить пустое строковое значение с параметром value = "" и избежать значения параметра = "?"?

Я не вижу этой проблемы на angularjs 1.4.9 и ниже. Также он отлично работает, когда значение области является нулевым, а не пустой строкой.

контроллер и директива

.controller('Ctrl', ['$scope', function($scope) {
    $scope.value = '';
  }])
  .directive('simpleDropdown', function() {
    return {
      restrict: 'E',
      scope: {
        unselectedText: '@'
      },
      template: '<select ng-options="x.key as x.description for x in lookupModel">' +
        '<option value="" selected="selected">{{ unselectedText }}</option>' +
        '</select>',
      replace: true,
      compile: function compile() {
        return {
          post: function postLink(scope) {
            scope.lookupModel = [{
              'key': 'Call',
              'description': 'Call someone'
            }, {
              'key': 'Email',
              'description': 'Email to someone'
            }];
          }
        };
      }
    };
  })

HTML

<simple-dropdown ng-model="value" unselected-text="Please select.."></simple-dropdown>

Я ожидаю, что $ scope.value = '' сопоставлено с параметром value = "" Пожалуйста, выберите, но в действительности angularjs добавляет пустое значение параметра = "?" выбрать.

Полный пример: https://plnkr.co/edit/8dU6lFBEt0VL5IFW5Nfc?p=preview

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...