我正在玩new Angular UI-Grid,並且在向網格單元中注入自定義下拉菜單時遇到問題。 The built-in dropdown functionality不適用於我的項目,因爲您只能選擇一種SELECT標籤。我想使用this swanky multi-select dropdown,但它看起來像ui-grid的魔法是阻止我的傳播開放下拉事件,或者我的下拉列表無法在運行中初始化。Angular UI-Grid中的自定義下拉菜單
這裏是我的示例代碼:
HTML:
<div ng-controller="MainCtrl">
<div ui-grid="gridOptions" ui-grid-edit class="grid"></div>
</div>
<script src="app.js"></script>`
app.js:
var app = angular.module('app', ['ngAnimate', 'ui.grid', 'ui.grid.edit', 'angularjs-dropdown-multiselect']);
app.controller('MainCtrl', ['$scope', '$http', function ($scope, $http) {
var grid;
$scope.msData = [ {id: 1, label: "David"}, {id: 2, label: "John"}, {id: 3, label: "Danny"}];
$scope.msSettings = {enableSearch: true, smartButtonMaxItems: 3, smartButtonTextConverter: function(itemText, originalItem) {return originalItem.id;}};
$scope.gridOptions = {
enableCellEditOnFocus: true,
columnDefs: [
{ field: 'name'}
,{ name: 'friends', displayName: 'Friends', editableCellTemplate: 'temp.html', width: '250', editDropdownValueLabel: 'friends'}
],
onRegisterApi: function(gridApi) {
grid = gridApi.grid;
}
};
$http.get('https://rawgit.com/angular-ui/ui-grid.info/gh-pages/data/100.json')
.success(function(data) {
$scope.gridOptions.data = data;
});
}]);
temp.html(編輯細胞模板):
<div ng-dropdown-multiselect="" options="msData" selected-model="MODEL_COL_FIELD" extra-settings="msSettings" checkboxes="true"></div>
當你雙擊朋友單元格,出現選擇下拉按鈕,但單擊它不會擴展下拉列表。
我和幾個做一個下拉的其他方式玩耍了,但都具有相同的問題,即基本元素(按鈕,鏈接等),但出現的下拉不擴大。
有沒有人有任何建議如何停止截取我的點擊事件的ui網格(如果這實際上是什麼導致問題)?或者讓你們中的任何一個人在ui-grid中實現類似的自定義下拉菜單?