【问题标题】:md-virtual-repeat not working wiht md-selectmd-virtual-repeat 不适用于 md-select
【发布时间】:2017-08-22 08:42:41
【问题描述】:

我正在尝试为 md-select 实现 md-virtual-repeat,它有超过 2000 个项目可供选择。这不适用于 md 选项。

<md-input-container>
    <md-select ng-model="break.start_time" md-on-open="vm.mdSelectOnOpen()">
        <md-virtual-repeat-container id="vertical-container">
            <md-option md-virtual-repeat="option in vm.time" value="option.value" >{{option.text}}</md-option>
        </md-virtual-repeat-container>
    </md-select>
</md-input-container>

这有什么问题? I have updated a plunker with my problem. see

【问题讨论】:

    标签: angularjs angular-material


    【解决方案1】:

    更新答案

    由于您使用 md-virtual 选择复选框,您可以参考下面的代码笔,因此无需添加复选框本身,因为 md-select 有一个名为 multiple 的属性,它将添加复选框

    代码

    <md-input-container>
        <label>Select an option</label>
        <md-select ng-model="selectedOption" md-on-open="mdSelectOnOpen()" multiple>
           <md-virtual-repeat-container id="vertical-container">
             <md-option md-virtual-repeat="option in options" ng-value="option" ng-selected="selectedOption.indexOf(option) > -1">{{option}}</md-option>
          </md-virtual-repeat-container>
        </md-select>
      </md-input-container>
    

    Codepen: here

    旧答案

    您需要提供 ng-selected 选项和 ng-value。

    <md-input-container>
        <md-select ng-model="break.start_time" md-on-open="vm.mdSelectOnOpen()">
            <md-virtual-repeat-container id="vertical-container">
                <md-option md-virtual-repeat="option in vm.time" ng-value="option.value" ng-selected="break.start_time==option.value">{{option.text}}</md-option>
            </md-virtual-repeat-container>
        </md-select>
    </md-input-container>
    

    参考:codepen

    【讨论】:

    • 感谢您的参考,我从您分享的地方得到了这个,但它不适用于我。
    • @MohamedNizar 然后共享代码,否则无法调试,我的意思是 jsfiddle 或 plunkr
    • @MohamedNizar 感谢 plunkr,我已经更新了我的答案,请查看。
    • 可以分享链接吗
    • @Naren Murali Codepen 版本正在运行,但我需要使用与您共享的 Plunker。它只是描述了我的问题。看到这个链接。plnkr.co/edit/bbHIzMXTjoQ9BoVr2qgD?p=preview
    【解决方案2】:

    我知道这是一个旧线程,但也许这对某人有帮助。 如果以下不起作用

    $scope.$broadcast("$md-resize")
    

    改用这个:

    angular.element(window).triggerHandler('resize')
    

    【讨论】:

      猜你喜欢
      • 2018-05-09
      • 1970-01-01
      • 2017-05-26
      • 2017-02-08
      • 1970-01-01
      • 1970-01-01
      • 2016-11-30
      • 1970-01-01
      • 2017-05-17
      相关资源
      最近更新 更多