2017-09-07 14 views
0

動作:チェックボックスはバックエンドコードではデフォルトでtrueに設定されているため、JSのチェックボックスをオフにしても、他のスライドから現在のスライドに切り替えるとチェックボックスの値はtrueに設定されます。チェックボックスをオフにして同じスライドに戻すと、チェックボックスの値を保存する方法は?

期待:チェックボックスをオフにして、更新された値を保存する必要があるため、チェックボックスをオフにしてください。同じスライドを再度選択すると、チェックボックスはオフになります。

チェックボックスのためのJavascriptコード:チェックボックスをtrueにハードコードされて

function getSlideShowDetailPropList() {  
    var publish = { 
       type: "checkbox", 
       id: "Publish", 
       displayName: "Active", 
       propertyDefinition: { 
        value: angular.isDefined(activePortalComponent) ? activePortalComponent.viewModel.actSlideShow.publish : "" 
       } 
      }; 
    return [publish]; 

    if (id === "Publish") { 
activePortalComponent.viewModel.actSlideShow.publish = value; 
    }    
    }  

CSHARPコード:チェックボックスの値を返すための

public bool publish { get; set; } 

    provider.cs 

    private Slideshow CreateSlideshow(int i) 
      { 
       Slideshow slideshow1 = new Slideshow(); 
       slideshow1.publish = true; 
       return slideshow1; 
      } 

getproperties.cs:

public IDictionary<string, object> GetSlideshowProperties(Slideshow foundSlideshow, IReadOnlyList<string> propertyNames) 
      { 
       var result = new Dictionary<string, object>(); 

       foreach (string propertyName in propertyNames) 
       { 
        if (propertyName == "publish") 
        { 
         result.Add(propertyName, foundSlideshow.publish); 
        } 
       } 
      return result; 
     } 

答えて

0

ストアコンポーネント変数のバックエンドから取得するブール値はstateCheckedとなります。この値を下のようにテンプレートのチェックボックス状態checkedにバインドします。あなたのコンポーネントで

、クリックでチェックボックスを切り替え、自分のページには、チェックボックスをロードするこの方法は、バックエンドが真送るよう、しかしUI上のチェックボックスの状態を変更することができ、デフォルトでチェックされます。

updateState() { 
    this.stateChecked = !this.stateChecked 
} 
関連する問題