【问题标题】:angular-ui-select control themeing and customizingangular-ui-select 控件主题化和自定义
【发布时间】:2017-01-24 07:36:38
【问题描述】:

我使用 Angular UI https://github.com/angular-ui/ui-select

我对控件的使用有一点问题。我想完全避免使用箭头(不幸的是,这似乎允许用户提交整个表单)。见下图红圈:

这里是对应的html:

<div class="form-group">
        <label for="address" class="control-label col-lg-3">signup.form.address</label>
        <div class="col-lg-6">
            <ui-select ng-required="true" id="address" name="address" ng-model="signupForm.addressReference"  reset-search-input="false" theme="bootstrap">
                <ui-select-match placeholder="Select address...">{{$select.selected.description}}</ui-select-match>
                <ui-select-choices repeat="address.reference as address in addresses track by $index" refresh="chooseAddress($select.search)" refresh-delay="0">
                    {{address.description }}
                </ui-select-choices>
            </ui-select>
        </div>
        <div ng-messages="signupNgFormCtrl.address.$error" ng-if="signupNgFormCtrl.$submitted" class="col-lg-3">
            <div ng-message="required">required</div>
        </div>
    </div>

有人可以帮忙吗?

问候,

【问题讨论】:

  • 你能为此创建一个 plunker。

标签: javascript angularjs ui-select


【解决方案1】:

所有模板都定义在select.js 的末尾。 比如这个有class="select2-arrow":

$templateCache.put("select2/match.tpl.html", 
    "<a ...> ... <span class=\"select2-arrow ui-select-toggle\" ng-click=\"$select.toggle($event)\"><b></b></span></a>");

或者那个有&lt;span class=\"caret ui-select-toggle\" ng-click=\"$select.toggle($event)\"&gt;&lt;/span&gt;:

 $templateCache.put("bootstrap/match.tpl.html", ...

两者都有ng-click 事件,可能会导致您提到的效果。 为避免出现箭头或效果,您可以覆盖与您的主题对应的模板。

【讨论】:

  • 嗨德米特里。我真的需要覆盖模板吗?没有我可以使用的属性来实现所需的行为吗?
  • 我觉得特别烦人的是点击箭头提交表单...
  • 我不太了解这个插件,你可以尝试在那里打开一个问题。但是覆盖是更快的解决方案。一种“优雅”的方式可能是创建您自己的自定义指令,在内部使用该指令。
  • 可以覆盖模板! +50
  • 谢谢!我喜欢“覆盖”,因为它迫使我知道我使用的东西是如何工作的,这样我就可以根据我的需要自定义任何 3rd 方组件,编写我自己的测试来保证它的工作,而且我不依赖于有多活跃是项目。如果他们让我太不高兴,我什至可能会覆盖 Angular :)
猜你喜欢
  • 2017-09-03
  • 1970-01-01
  • 1970-01-01
  • 2019-07-06
  • 1970-01-01
  • 2019-05-23
  • 1970-01-01
  • 2018-10-08
  • 1970-01-01
相关资源
最近更新 更多