【问题标题】:Smart-Table row selection issue智能表行选择问题
【发布时间】:2016-05-02 20:17:03
【问题描述】:

我正在使用没有$scope 对象的smart-table,它看起来不错,但是选择和回调工作很奇怪(选择只发生了一半)或者根本不起作用。

Here,我找到了一个例子,如您所见,行选择工作正常。

但是,如果我们将语法更改为使用“控制器 As”样式,那么,it does not work

现在,我将修改我的代码以使用$scope。但是,作为 AngularJS 的初学者,如果有人告诉我为什么会发生这种情况,我会很高兴,有什么办法可以解决这个问题,谢谢。

【问题讨论】:

    标签: angularjs smart-table


    【解决方案1】:
    1. 你的ng-options应该是这样的

      <select ng-model="events" 
          ng-options="event as event.label for event in vm.events"></select>
      

    event as event.label for event in vm.events 表示您将event.label 指向event 模型,用于vm.events 中的每个event

    ngOptions

    1. 然后在控制器中添加数据

    这是你的updated plunk

    编辑 1

    1. 要选择整行,您可以将ng-click 绑定到&lt;tr&gt;,并将当前的row 传递给它,就像这样

      <tr ng-click="vm.selectRow(row)" ... >
      
    2. 要突出显示该行,您可以像这样使用ng-class

      <tr ... ng-class="{"highlight": row.selected===true}">
      

      并处理控制器中的选择逻辑。有很多方法可以实现这一点。

    forked the last plunk

    【讨论】:

    • 但是它仍然没有选择行,我对
    • 类似&lt;tr ng-click="vm.onSelectRow(row)" ... 的东西与select 的ngModel 选择的任何东西?
    • 是的,这解决了“点击”的问题,但是选择仍然有问题,如何让它每次点击时都改变css类,没有硬编码,但无论如何,我可以硬编码))
    • 使用ng-class。您可以根据范围/vm 值切换 css 类,我会更新答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    相关资源
    最近更新 更多