<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      深入淺出Blazor webassembly之modal對話框

      =============================================

       Blazored.Moda 簡介

      =============================================

      本文介紹 Blazored 發布的 Modal 組件, 可以不使用JS就能實現Modal 對話框效果.

      主頁: https://github.com/Blazored/Modal

      demo 站點:  https://blazored.github.io/Modal/

       

      Blazored.Modal 組件可以將一個普通的 razor 組件以 Modal 的形態展現出來, 比如 FetchData 這個 razor 組件, 下面簡單的代碼就會將 FetchData 以彈窗形式顯示.

      Modal.Show<FetchData>("這是一個彈窗");

       

       

      =============================================

       使用步驟

      =============================================

      1. 安裝

         dotnet add package Blazored.Modal

      2.  program.cs 文件注冊服務

          builder.Services.AddBlazoredModal();

      3.  index.html 引入相關 js 和 css

      <link href="_content/Blazored.Modal/blazored-modal.css" rel="stylesheet" />
      <script src="_content/Blazored.Modal/blazored.modal.js"></script>

      4.  [可選]  _Imports.razor 文件using 相關的namespace

      @using Blazored.Modal
      @using Blazored.Modal.Services

      5. [可選] App.razor 文件最外層包一個 <CasadingBlazoredModal> 組件, 這個組件類似于 CascadingValue 組件, 可以下推  ModalService 實例到下層要顯示彈窗的組件中, 如果省略了這一步, 下層組件需要使用常規的 inject 方法獲取一個 IModalService 實例中.

      使用<CasadingBlazoredModal> 寫法的優勢是, 可以在 App.razor 中統一彈窗的一些表現, 比如禁止顯示右上角的close按鈕等等.

      <CascadingBlazoredModal HideCloseButton="true" DisableBackgroundCancel="true" >
      
      app.razor的原有內容
      
      </CascadingBlazoredModal>

      6. 需要彈窗的組件中, 使用 Inject 或 CasadingParameter 獲取一個 IModalService 實例, 然后調用 IModalService.Show<T>()來展現模態窗口

      7. 彈窗組件中, 使用 CasadingParameter 獲取一個 BlazorModalInstance 實例, 通過該實例向外界傳遞 ModalResult 值.

       

      =============================================

       IModalService.Show<T>()的參數和返回值

      =============================================

      1. ModalOptions 輸入參數, 可以控制:

      • 是否隱藏右上角的close按鈕
      • 是否可以通過點擊背景關閉彈窗
      • 是否隱藏標題欄

      2. ModalParameters 參數

        對于razor組件,  父組件可以在嵌入它時, 同時設置Parameter參數.

        ModalService.Show<T>()函數也允許為彈窗組件傳參, 就是通過 ModalParameters 完成的.

      3. 獲取ModalResult的方法

        彈窗組件中, 使用 CasadingParameter 獲取一個 BlazorModalInstance 實例, 通過該實例向外界傳遞 ModalResult 值.

       

      =============================================

      完整示例

      =============================================

      彈窗Fetch.razor 組件

      <!-- 省略其他頁面代碼-->
      <button @onclick="OkClick" class="btn btn-primary">OK</button>
      <button @onclick="CancelClick" class="btn btn-secondary">Cancel</button>
      
      @code{
          //省略其他C#代碼
      
          [Inject]BlazoredModalInstance ModalInstance { get; set; }
      
          private void OkClick()
          {
              ModalInstance.CloseAsync(ModalResult.Ok<String>("Yes"));
      
          }
      
          private void CancelClick()
          {
              ModalInstance.CloseAsync(ModalResult.Cancel());
          }
      }

       

       index.razor 組件

      @page "/"
      <h1>Hello, world!</h1>
      
      Welcome to your new app.
      <br /> 
      
      <button @onclick="ShowModal">show modal </button>
       
      <SurveyPrompt Title="How is Blazor working for you?" />
      
      @code{
          [CascadingParameter] protected IModalService ModalService { get; set; }
      
          private async void ShowModal()
          {
              Console.WriteLine("ShowModal");
              var formModal=ModalService.Show<FetchData>("這是一個彈窗");
              var result = await formModal.Result;
              if (result.Cancelled)
              {
                  Console.WriteLine("Cancelled");
              }
              else
              {
                  Console.WriteLine(result.Data);
              }
          }
      }

       

      posted @ 2021-09-25 13:53  harrychinese  閱讀(931)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 红河县| 丁香婷婷综合激情五月色| 国产乱妇无码大片在线观看| 一本色道久久加勒比综合 | 国产综合久久99久久| 精品国产欧美一区二区三区在线| 99久久国产宗和精品1上映| 亚洲av中文一区二区| 山阳县| 亚洲av鲁丝一区二区三区黄| 最近免费中文字幕大全| 久久中文字幕一区二区| 99久久久无码国产麻豆| 97精品人妻系列无码人妻| 国产国产久热这里只有精品| 五月天国产成人av免费观看| 狠狠做五月深爱婷婷天天综合| 中文国产不卡一区二区| 美女一区二区三区亚洲麻豆| 男女xx00xx的视频免费观看| 亚洲a∨国产av综合av| 日韩 高清 无码 人妻| 国产成人高清亚洲一区二区| 亚洲伊人久久综合影院| 日韩一区在线中文字幕| 视频一区视频二区视频三| 国产av第一次处破| 超碰国产天天做天天爽| 人妻少妇精品无码专区二区| 色8久久人人97超碰香蕉987| 海伦市| 午夜福利精品国产二区| 亚洲性日韩精品一区二区三区| 最新精品国偷自产在线| 曰本丰满熟妇xxxx性| 国产精品一区二区三区麻豆| 国产精品天天看天天狠| 国产成人无码AV大片大片在线观看 | 九九热在线视频精品免费| 东京热无码国产精品| 波多野结衣av无码|