从下拉列表中选择清除选项时清除Angular-UI网格

时间:2016-12-20 23:22:49

标签: angularjs ng-grid

我有一个显示订单选项的下拉列表。根据从下拉列表中选择的内容,将填充Angular-UI网格。 问题是当选择“-Select Order-”时,显示所有用户的所有订单。我正试图找出在选择该选项时如何清除网格。

<div class="row">
            <div class="col-md-8">
                <select ng-model="vm.selectedOrder"
                        ng-options="order.Id as order.Name for order in vm.orders"
                        ng-change=" vm.selectedOrder ? 'OrderId:' + vm.selectedOrder : ''"
                        class="form-control">
                    <option value="">- Select Order -</option>
                </select>

            </div>
        </div>
        <div class="row">
            <div class="col-md-8">
                <div class="gridStyle" ng-grid="vm.gridOptions"></div>
            </div>
        </div>

这是网格:

vm.gridOptions = {
        data: 'vm.orders',
        enableRowSelection: false,
        columnDefs: [
            { field: 'Orders.OrderId', displayName: 'OrderId', visible: false },
            { field: 'Orders.Name', displayName: 'Orders', minWidth: 100, width: 'auto', resizable: true },
            { field: 'InvoiceName', displayName: 'Invoice', minWidth: 150, width: 'auto', resizable: true },
            }
        ],
        filterOptions: { filterText: vm.selectedOrder, useExternalFilter: false },
         }
    };

我尝试创建一个函数vm.clear()当我选择“-Select Order-”选项时,设置vm.orders =''的工作原理。但是,当我选择任何其他选项时,网格不会填充。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这可能有点像黑客但是因为我没有回应我会跟着它,因为我已经没时间了。 为此:

ng-change=" vm.selectedOrder ? 'OrderId:' + vm.selectedOrder : ''"

我把它更改为:

ng-change=" vm.selectedOrder ? 'OrderId:' + vm.selectedOrder : 'clear'"