SPFx 1.14 목록 보기 명령 세트 - 업데이트 31.03.2022
내 게시물의 예를 사용하여 이제
onInit
동안 목록 컨텍스트에 따라 버튼을 표시하거나 숨길 수 있습니다.onInit 동안 버튼 표시/숨기기
CommandSet.ts
const registeredList: string[] = ['Travel requests'];
public onInit(): Promise<void> {
const setCommandsState = (isVisible:boolean) => {
const compareOneCommand: Command = this.tryGetCommand('COMMAND_1');
if (compareOneCommand) {
//Visible for registered lists, does not depend on selected item
compareOneCommand.visible = isVisible;
}
const compareTwoCommand: Command =
this.tryGetCommand('COMMAND_2');
if (compareTwoCommand) {
//Visible for registered lists, enabled if 1 item selected, so disable by default
compareTwoCommand.visible = isVisible;
compareTwoCommand.disabled = true;
}
}
const getListUrl = (listUrl: string): string => {
let result = listUrl.match(/Lists\/(?<ListName>.*)/);
return result.groups["ListName"];
}
setCommandsState( registeredList.includes(getListUrl(this.context.listView.list.serverRelativeUrl)));
return Promise.resolve();
}
명령.비활성화
다음으로 정확히 하나의 항목이 선택된 경우에만 'COMMAND_2' 버튼을 활성화하고 싶습니다. 이것은
onListViewUpdatedv2
의 작업입니다.CommandSet.ts
public onListViewUpdatedv2(args: ListViewStateChangedEventArgs): void{
const compareTwoCommand: Command = this.tryGetCommand('COMMAND_2');
compareTwoCommand.disabled = !(this.context.listView.selectedRows.length == 1);
this.raiseOnChange(); //is it needed? seems to have no effect
}
하지만... 작동하지 않는 것 같습니다: issue #7845 . 😦
계속 알려드리겠습니다.
Reference
이 문제에 관하여(SPFx 1.14 목록 보기 명령 세트 - 업데이트 31.03.2022), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kkazala/spfx-114-list-view-command-set-update-31032022-gl1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)