parameter-passing 相关问题

参数传递是将值分配给函数参数的过程

为什么编译器会标记我对传递参数使用关键字 in ? (C# v9.0)

这是我的方法调用: var span = m_tracer.StartActiveSpan("FileTrace", SpanKind.Internal, inparentContext, null, null, startTime); 方法签名定义如下: 公开

回答 1 投票 0

是否可以在Reactjs中创建可重用的函数

我想在独立的 JavaScript 文件中创建一个可重用的函数,我可以使用该函数以 json 的形式将两个参数发送到 API,使用 GET 方法,该方法将返回一个 json f...

回答 1 投票 0

将参数传递给模态弹出窗口

我想知道是否可以将按钮的 id 和 class 作为参数传递给模态,以便我可以在模态页面中显示动态数据。 导航栏.剃刀: 我想知道是否可以将按钮的 id 和 class 作为参数传递给模态,以便我可以在模态页面中显示动态数据。 导航栏.剃刀: <li><button class ="firstButtonDialog" id="mm" @onclick="() => _modal.Open()">mm</button></li> <li><button class ="secondButtonDialog" id="cm" @onclick="() => _modal.Open()">cm</button</li> <li><button class ="thirdButtonDialog" id="meter" @onclick="() =>_modal.Open()">meter</button></li>meter</button></li> private Modal _modal { get; set; } public string _min { get; set; } public string _max { get; set; } private void OnModalMin(string min) { _min = min; } private void OnModalMax(string max) { _max = max; } 模态页面中的“标题”和“测量”需要是动态的。我想在这里使用传递的参数来显示动态数据。 莫代尔剃须刀: <h5 class="modal-title">firstButtonDialog</h5> //title need to be dynamic based on button clicked <div class="modal-body"> <label for="Min">Enter Min</label> <input @bind="min" type="text" id="Min" name="Min">[mm]<br> // [mm] measurement need to be dynamic based on button clicked <label for="Max">Enter Max:</label> <input @bind="max" type="text" id="Max" name="Max">[mm]<br> </div> <div class="modal-footer"> <button type="button" class="btn btn-primary" @onclick="() => Done()">Done</button> </div> @code { private string min; private string max; public Guid Guid = Guid.NewGuid(); public string ModalDisplay = "none;"; public string ModalClass = ""; [Parameter] public EventCallback<string> OnDoneCallback1 { get; set; } [Parameter] public EventCallback<string> OnDoneCallback2 { get; set; } public void Open() { ModalDisplay = "block;"; ModalClass = "Show"; ShowBackdrop = true; StateHasChanged(); } public void Close() { ModalDisplay = "none"; ModalClass = ""; ShowBackdrop = false; StateHasChanged(); } public async Task Done() { await InvokeAsync(() => OnDoneCallback1.InvokeAsync(min)); await InvokeAsync(() => OnDoneCallback2.InvokeAsync(max)); } } 这个问题有一个简单的答案,或者一个更长更全面的答案,演示如何构建一个“基本”模态对话框框架。这是后者。 您需要将 Modal Dialog 与 EditForm 分开。您应该能够在模态对话框中托管任何表单。 首先,定义一个 IModalDialog 接口,这样我们就可以拥有多个模态对话框的实现 - 比如一个简单的干净的 Css 或 Bootstrap 。 public interface IModalDialog { public ModalRequest ModalRequest { get; } public bool IsActive { get; } public bool Display { get; } public Task<ModalResult> ShowAsync<TModal>(ModalRequest modalRequest) where TModal : IComponent; public Task<bool> SwitchAsync<TModal>(ModalRequest modalRequest) where TModal : IComponent; public void Update(ModalRequest? modalRequest); public void Dismiss(); public void Close(ModalResult result); } 我们传入一个ModalRequest: public record ModalRequest { public IDictionary<string, object> Parameters { get; init; } = new Dictionary<string, object>(); public object? InData { get; init; } = null; } 然后回来ModalResult public class ModalResult { public ModalResultType ResultType { get; private set; } = ModalResultType.NoSet; public object? Data { get; set; } = null; public static ModalResult OK() => new ModalResult() { ResultType = ModalResultType.OK }; public static ModalResult Exit() => new ModalResult() { ResultType = ModalResultType.Exit }; public static ModalResult Cancel() => new ModalResult() { ResultType = ModalResultType.Cancel }; public static ModalResult OK(object data) => new ModalResult() { Data = data, ResultType = ModalResultType.OK }; public static ModalResult Exit(object data) => new ModalResult() { Data = data, ResultType = ModalResultType.Exit }; public static ModalResult Cancel(object data) => new ModalResult() { Data = data, ResultType = ModalResultType.Cancel }; public enum ModalResultType { NoSet, OK, Cancel, Exit } } 我们的基本实现 - ModalDialog.razor。它使用 TaskCompletionSource 在 async 上下文中运行。您可以通过调用 ShowAsync<TModal> 将 TModal 设置为要在表单中托管的组件并通过 ModalRequest 实例提供设置和数据来打开对话框。然后,您等待退出表单时设置为完成的提供 Task。我们使用 DynamicComponent 来创建 TModal。请注意,我们将 Modal 实例级联到托管组件。 @implements IModalDialog @if (this.Display) { <CascadingValue Value="(IModalDialog)this"> <div class="base-modal-background" @onclick="OnBackClick"> <div class="base-modal-content" @onclick:stopPropagation="true"> <DynamicComponent Type=this.ModalContentType Parameters=this.ModalRequest.Parameters /> </div> </div> </CascadingValue> } @code { [Parameter] public bool ExitOnBackGroundClick { get; set; } = false; public ModalRequest ModalRequest { get; private set; } = new ModalRequest(); public object? InData { get; } = null; public bool Display { get; protected set; } = false; protected TaskCompletionSource<ModalResult> _ModalTask { get; set; } = new TaskCompletionSource<ModalResult>(); protected Type? ModalContentType = null; public bool IsActive => this.ModalContentType is not null; public Task<ModalResult> ShowAsync<TModal>(ModalRequest modalRequest) where TModal : IComponent { this.ModalRequest = modalRequest; this.ModalContentType = typeof(TModal); this._ModalTask = new TaskCompletionSource<ModalResult>(); this.Display = true; InvokeAsync(StateHasChanged); return this._ModalTask.Task; } public async Task<bool> SwitchAsync<TModal>(ModalRequest modalRequest) where TModal : IComponent { this.ModalRequest = modalRequest; this.ModalContentType = typeof(TModal); await InvokeAsync(StateHasChanged); return true; } public void Update(ModalRequest? modalRequest = null) { this.ModalRequest = modalRequest ?? this.ModalRequest; InvokeAsync(StateHasChanged); } private void OnBackClick(MouseEventArgs e) { if (ExitOnBackGroundClick) this.Close(ModalResult.Exit()); } public async void Dismiss() => await this.Reset(ModalResult.Cancel()); public async void Close(ModalResult result) => await this.Reset(result); private async Task Reset(ModalResult result) { _ = this._ModalTask.TrySetResult(ModalResult.Cancel()); this.Display = false; this.ModalContentType = null; await InvokeAsync(StateHasChanged); } } 它是组件 css - ModalDialog.razor.css div.base-modal-background { display: block; position: fixed; z-index: 101; /* Sit on top */ left: 0; top: 0; width: 100%; /* Full width */ height: 100%; /* Full height */ overflow: auto; /* Enable scroll if needed */ background-color: rgb(0,0,0); /* Fallback color */ background-color: rgba(0,0,0,0.4); /* Black w/ opacity */ } div.base-modal-content { background-color: #fefefe; margin: 10% auto; padding: 10px; border: 2px solid #888; width: 90%; } 您的数据类别: public class MyData { public int Min { get; set; } public int Max { get; set; } } 和表单 - MyForm.razor。这将捕获级联 IModalDialog 并与 IModalDialog 交互以获取任何提供的数据并关闭对话框。 <div class="modal-title border-bottom border-secondary"> <h5>@this.Title</h5> </div> <div class="modal-body"> <label class="form-label" for="Min">Enter Min [mm]</label> <input class="form-control" @bind=model.Min type="number"> <label class="form-label" for="Max">Enter Max [mm]:</label> <input class="form-control" @bind=model.Max type="number"> </div> <div class="modal-footer"> <button type="button" class="btn btn-primary" @onclick="() => Done()">Done</button> </div> @code { private MyData model = new MyData(); [Parameter] public string Title { get; set; } = "I Need a Title!"; [CascadingParameter] private IModalDialog? modalDialog { get; set; } private ModalRequest modalRequest => modalDialog?.ModalRequest ?? new ModalRequest(); protected override void OnInitialized() { if (modalDialog is null) throw new NullReferenceException("You must cascade a IModalDialog to use this Form"); model = (MyData)(modalDialog?.ModalRequest.InData ?? new MyData()); } private void Done() => modalDialog?.Close(ModalResult.OK(model)); } 最后是演示页面。它托管 ModalDialog 组件并与其交互以打开对话框。 @page "/" <PageTitle>Modal Dialog Demo</PageTitle> <div class="m-2 b-2"> <button class="btn btn-primary" @onclick=OpenDialog1>Edit Model 1</button> </div> <div class="alert alert-primary"> <strong>Model 1</strong> Min: @this.model1.Min Max: @this.model1.Max </div> <div class="m-2 b-2"> <button class="btn btn-dark" @onclick=OpenDialog2>Edit Model 2</button> </div> <div class="alert alert-dark"> <strong>Model 2</strong> Min: @this.model2.Min Max: @this.model2.Max </div> <ModalDialog @ref=modalDialog ExitOnBackGroundClick=false /> @code { private MyData model1 = new MyData { Max = 20, Min = -10 }; private MyData model2 = new MyData { Max = 50, Min = -50 }; private IModalDialog? modalDialog; private async Task OpenDialog1() { var parameters = new Dictionary<string, object> { { "Title", "Modal Form 1" } }; var request = new ModalRequest { InData = this.model1, Parameters = parameters }; if (this.modalDialog is not null) await modalDialog.ShowAsync<MyForm>(request); // This won't complete until the dialog closes and the Task is complete. // We can use any return data at this point // and this component will render as part of the ComponentBase UI event handling code. } private async Task OpenDialog2() { var parameters = new Dictionary<string, object> { { "Title", "Modal Form 2" } }; var request = new ModalRequest { InData = this.model2 }; if (this.modalDialog is not null) await modalDialog.ShowAsync<MyForm>(request); } } 这是其中一个对话框的屏幕截图: 代码暂时放在这里 - https://github.com/ShaunCurtis/SO73617831 我知道这已经有几年了,但我喜欢你在这里所做的概念。我在使用示例时注意到的一件事是 InData 被修改,这在某些情况下可能不是所需的结果。我知道这可以在派生对话框中处理。我还注意到上面示例中的 Reset(ModelResult result) 始终返回 ModalResult.Cancel。那应该是结果参数吗?由于您的临时存储库已消失,我看不到您是否进行了其他更改。

回答 2 投票 0

将参数/值从管道传递到 ADF 中的 Power Query 活动

我试图弄清楚是否可以将参数/任何值从我的 Azure 数据工厂管道传递到 Power Query 活动中。 最终目标是动态引用系统上的不同路径...

回答 1 投票 0

如何将 DataFrame 列作为函数中的参数传递?

在此输入图像描述 检查特定值的分布,例如给定列中天气正好多云的次数。请随意检查其他值。你可以检查...

回答 1 投票 0

为什么函数不使用之前函数的返回参数?

我是 Odin 项目 Java 脚本基础课程的初学者,正在做石头剪刀布作业 我的 playRound 功能无法正常工作,它只是无法读取...

回答 1 投票 0

多值参数返回一个值 Power BI 分页报表

我正在尝试向 Power BI 报表生成器中的分页 Power BI 报表添加多值参数。当为参数选择多个值时,报告仅返回 da 的第一行...

回答 1 投票 0

在组件之间传递数据,其中之一是 Angular 中的 routerOutlet

我在仪表板组件内有类别和产品组件。我想将数据从类别组件传递到产品组件,但 ProductComponents 内部有 routerOutlet 。 ...

回答 1 投票 0

我发送了一个发布请求,但我不断收到空值

我发送此数据 我发送这个数据 但它总是为空 但它总是为空 我想对每部电影发表评论 我不知道问题出在哪里 评论控制器 这是你得到它的部分...

回答 1 投票 0

访问路由参数 React Native 问题

我正在尝试在 React Native 中将一组数据从一个页面传递到另一个页面。当我console.log路线时,我可以看到参数,但是当我记录route.params时,它是未定义的。 用于从

回答 1 投票 0

函数更改作为参数给出的变量值

我有以下功能: def myfunc(x): y = x y.append('appendix') // 改变发生在这里 返回y x = [] z = myfunc(x) print(x) // 这里反映了变化,附录是优先...

回答 2 投票 0

Datatables - 如何在 url 中传递搜索参数

我希望能够链接到带有数据表的页面,该数据表将在网址中传递搜索参数值。目标是使用打开的数据表页面进行预过滤...

回答 3 投票 0

将链表传递给函数 LeetCode Add2number

我在做leetcode问题时意识到我以前从未将链表传递给函数。所以,现在我正在尝试使用继承 li 结构的类来实现链表...

回答 1 投票 0

PHP,将参数从命令行传递到 PHP 脚本

我想从 PHP 命令行界面传递参数,然后使用 PHP 脚本读取值,如下所示: 我通过了变量...

回答 9 投票 0

为什么子类不传值的时候不能有父类的有参构造函数?

a 类{ a(整数年龄){} } b 类扩展了 a{} 公共类HelloWorld { 公共静态无效主(字符串[] args){ b var1=new b(); System.out.println("试试programiz.pro&quo...

回答 1 投票 0

从任务计划程序打开或传递参数时,Powershell 脚本不会运行

我在任务计划程序/脚本提示符中调用PowerShell应用程序,如下所示: C:\Windows\System32\WindowsPowerShell 1.0\powershell_ise.exe 然后我在 Add

回答 1 投票 0

R 中的向量化参数验证?

我正在尝试通过改编我在其他地方看到的示例来矢量化参数函数验证。现在,所有内容都返回 0。使用 browser() 函数我可以进入 apply 函数...

回答 1 投票 0

将数据从嵌套片段发送到父片段

我有一个片段 FR1,其中包含多个嵌套片段; FRa、FRb、FRc。这些嵌套片段可通过按 FR1 布局上的按钮来更改。每个嵌套片段都有多个输入...

回答 9 投票 0

向函数传递参数

以下颂歌段的输出是9。我认为函数foo的参数a是按值传递的。我的假设正确吗?如果是这样,输出如何变成9? #包括 ...

回答 4 投票 0

如何使用选项卡导航器将道具传递到 Screen 组件?

这是我在 StackOverflow 上的第一篇文章,如果我没有遵循正确的格式,请道歉。 我正在使用 React Navigation v 5.x 中的选项卡导航器构建我的第一个应用程序,但遇到了一个大问题

回答 12 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.