편집 할 수있는 dateField가있는 편집 가능한 Grid를 만들려고합니다. 셀은 셀 내가 is-open="true"
를 사용하고 있지 않다 경우 다음의 editableCellTemplate
에서 각도 JS 문제가있는 부트 스트랩 Datepicker (다시)
$scope.gridOptions = {
data: 'result',
enableCellSelection: true,
enableRowSelection: false,
enableCellEditOnFocus: true,
multiSelect: false,
columnDefs: [
{ field: 'name', displayName: 'Name', enableCellEdit: false, width: 60 },
{ field: 'age', displayName: 'Age', enableCellEdit: false, width: 60 },
{ field: 'sex', displayName: 'Sex', enableCellEdit: false, width: 90 },
{ field: 'dob', displayName: 'DOB', width: 150,
editableCellTemplate: '<input type="text" datepicker-popup="dd/MM/yyyy" is-open="true" ng-input="COL_FIELD" ng-model="COL_FIELD" datepicker-append-to-body=true />',
}
]
};
을 집중 오지 않아 팝업 경우에만 편집 가능한 표시됩니다.
ng-input="COL_FIELD"
을 사용하지 않으면 포커스가 모든 셀에서 제거되지 않습니다. 그래서, datepicker 숨어지고 있지 않습니다.하지만 만약 내가 그때 둘 다 사용하고, 가치가 선택되지 않습니다. 콘솔에서 오류가 나타납니다
Expression 'true' used with directive 'datepickerPopup' is non-assignable!
거기에 대한 stackoverflow에 대한 많은 질문이 있습니다. 나는 거의 모든 것을 시도했지만 성공하지는 못했다.
수행 할 수있는 작업은 무엇입니까? 오류를 제거하려면 어떻게해야합니까? 제발 내게 일하는 plunker를 제공해주세요. 나는 plunker로이 문제를 만들 수 없습니다.
편집하는 것은
내가 생각하는, 내가 오류를 제거 할 수 없습니다. 이 오류는 여전히
Expression 'true' used with directive 'datepickerPopup' is non-assignable!
내가 그것을 어떻게 제거 할 수 있습니다 동일한? 그것을 제거한 후에, 나는 그것이 효과가있을 것이라고 확신합니다. 나는 그것을 범위 변수로 가져 와서 그것을 참조하려고했으나 값이 Inspect 요소를 사용하여 검사 할 때 true로 대체되지 않습니다. 변수로 사용하고 'is-open="' + $scope.dateFormat.opened + '"'
같은 템플릿의 값을 연결하는 경우에도 여전히 동일한 오류가 있습니다.
편집 2
이 is-open
무엇을 위해 사용됩니까? 어딘가에 나는 true
에 그 값 equlas를, 어딘가에 단지 opened
으로 본다. 예를 들어 here in Stackoverflow 이상인 경우 opened1
및 opened2
입니다. 이게 뭐야? 어떻게 사용합니까? 하지만, (i는 bcombs
로 한 방법을 사용하고있는 경우)
제가 상기 디버깅 후에 bcombs
기술
편집 3
를 사용하여 오차를 제거 한 난을, 날짜 선택기가 열려지고 것으로 열리는 즉시 닫힙니다. 내가 결론을 내렸다 무엇보다 조작에서
$scope.$on('ngGridEventStartCellEdit', function() {
debugger;
});
편집 4 는 ng-input
를 사용하는 경우, 다음 바인딩이 방법을 나누기 입니다. 즉 u가 날짜 값 텍스트 필드를 변경하면 datePicker에서 반영되지만 datePicker를 사용하여 값을 변경하려고하면 textField에 반영되지 않습니다.
ng-input
을 제거하면이 2 방향 바인딩이 올바르게 작동하므로 올바르게 작동하지만 ngGridEventEndCellEdit
이벤트가 시작되지 않습니다. 그래서 초점은 사라지지 않습니다. 값이 선택되고 datePicker가 닫히고 있습니다 (인 경우 enableCellEdit:true
을 사용). 그러나 포커스는 textField에 남아 있습니다.
도움이 필요합니다.나는 그 확신한다
: 업데이트가 문제
그래서 여러분이 생각하는 코드 조각을 복제하면 문제가 나타나지 않는다고 말하는 것입니까? 이 경우 문제는 코드의 다른 부분에 있습니다. – JoseM
@JoseM 아니요, 제 코드가 작동하지 않습니다. 내 로컬에서 내가 무엇을 얻었는지도 알 수 없습니다. –
@VivekVardhan 어쩌면 plnkr을 기본으로 제공 할 수 있습니까? –