SelectOption.js 948 Bytes
/**
 * 选项
 */
import template from "./SelectOption.html";
angular.module("esNgAntd").directive("esSelectOption", function () {
    return {
        controllerAs: "esSelectOption",
        restrict: "E",
        transclude: true,
        replace: true,
        scope: {
            value: "@",
        },
        template: template,
        controller: function ($scope, $element) {
            this.getContext = function () {
                return $scope;
            };

            $scope.state = {
                label: null,
            };
        },
        require: ["?^esSelect"],
        link: function ($scope, $element, $attrs, $controllers, $transclude) {
            let [esSelect] = $controllers;
            $scope.esSelect = esSelect.getContext();
            $scope.esSelect.addOption({
                value: $scope.value,
                label: null,
                element: $element,
            });
        },
    };
});