小编Ven*_*sky的帖子

@bind 和 @bind-value 的区别

使用@bind和 有@bind-value什么区别?

我做了这个简单的例子,并在浏览器中测试,我没有看到任何区别。

<p>@@bind @increment1</p>

<input 
    type="text"
    @bind="@increment1"
/>

<p>@@bind-value @increment2</p>
<input 
    type="text"
    @bind-value="@increment2"
/>

@code {
    string increment1;
    string increment2;
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core blazor

28
推荐指数
2
解决办法
8306
查看次数

如何在 Blazor 服务器应用程序中停止事件传播

我正在使用Grid.Blazor库在 Blazor 应用程序上渲染服务器端网格。其中一列有一个带有单击事件的按钮。因此,当单击按钮时,网格行事件也会与按钮单击事件一起触发。我想停止事件传播并只让按钮单击事件触发。

网格:

  <GridComponent @ref="_gridComponent" T="QuickLists" Grid="@_grid"  OnRowClicked="@(async (item) => await ExerciseDetails(item))"></GridComponent>


Action<IGridColumnCollection<QuickExcerciseLists>> columns = c =>
        {
            c.Add().Titled("Actions").RenderComponentAs(typeof(ChildComponent)).SetWidth("5%");
            c.Add(o => o.Name, comparer).Titled("Name").SetWidth("10%");
            c.Add(o => o.Age, comparer).Titled("Age").SetWidth("15%");
            c.Add(o => o.Address, comparer).Titled("Address").RenderComponentAs<MatTooltip>().SetWidth("15%");
        };
Run Code Online (Sandbox Code Playgroud)

自定义列组件:

<MatBlazor.MatButton Icon="@MatIconNames.Remove_red_eye" @onclick="@ShowData" @onclick:stopPropagation="true"></MatBlazor.MatButton>
Run Code Online (Sandbox Code Playgroud)

我尝试传递@onclick:stopPropagation子按钮组件。但下面给出了编译错误。

该组件的组件参数“onclick”使用两次或多次。参数必须是唯一的(不区分大小写)。组件参数“onclick”由“@onclick:stopPropagation”指令属性生成。

我正在运行.Net core 3.1.201。非常感谢任何帮助。

.net-core blazor blazor-server-side matblazor

27
推荐指数
3
解决办法
2万
查看次数

什么时候应该在 Material-UI 中使用排版?

我正在使用 Material-UI,但我有点困惑。有组件,Typography但我无法真正理解何时使用它以及它的目的是什么。

应该Typography什么时候使用?它解决/帮助什么问题,或者如果我在开发时使用它会有什么好处?

一个例子对我更好地理解它非常有用。

reactjs material-design material-ui

21
推荐指数
1
解决办法
3163
查看次数

何时使用 useState 初始值作为函数?

将useState的初始值用作函数的情况是什么?
和仅仅传递一个值有什么区别吗?

例如

const [state, setState] = useState(() => someValue)
Run Code Online (Sandbox Code Playgroud)

reactjs react-hooks

17
推荐指数
2
解决办法
1万
查看次数

在 Blazor 上按下输入键时更改变量值

我想要做的是当用户按下一个键时更新变量值,但它只更新输入模糊时的值。

以下代码不起作用。

<p>@increment</p>
<input 
    type="text"
    @onchange="@((ChangeEventArgs e) =>
        increment = e.Value.ToString())"
/>

@code {
    string increment;
}
Run Code Online (Sandbox Code Playgroud)

使用@bind和@bind-value也不起作用。

我用这个例子做了一个blazorfiddle。

当按下 a 键时,谁能改变我的变量的值?

c# asp.net-core blazor

15
推荐指数
1
解决办法
1万
查看次数

Reactjs-演示应用程序不起作用

我正在尝试安装程序对新安装程序做出反应,但这给了我以下错误

./src/index.css (./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-3-1!./node_modules/postcss-loader/src??postcss!./src/index.css)
Error: Cannot find module '@csstools/normalize.css'
Run Code Online (Sandbox Code Playgroud)

谁能建议我前进

提前致谢

reactjs

14
推荐指数
1
解决办法
6000
查看次数

为什么不能将 ref 传递给 React 中的功能组件?

为什么不能将 ref 传递给 React 中的功能组件?

与无法向其传递引用的类组件相比,函数组件有何不同?

为什么那不可能呢?

注意:我提出这个问题是因为我总是看到有关如何将 ref 与功能组件一起使用的解释,并且您需要使用fowardRef,但没有人解释 React 如何处理功能组件,从而无法将 ref 传递给它,它总是解释如何去做,但从来没有解释为什么你需要这样做。

reactjs react-ref

14
推荐指数
1
解决办法
7744
查看次数

如何使用 fetch 处理响应 .json 和 .text?

我正在获取一个返回 json 的 API,但是当它出现错误时,它只返回一个文本(在带有 express 的节点中,返回结果为.json({}),错误为.send('string')),但是我无法修改 API

所以我试图制作一些读取 json 的东西,但如果它是一个文本,它将进入.catch错误所在的文本。

这是我尝试过但没有成功的方法。

fetch(apiUrl)
    .then(res => {
        try {
            let json = res.json()
            return json
        } catch (error) {
            return new Promise((resolve, reject) => reject(res.text()))
        }
    })
    .then(res => {
        // get result from res.json() **res == res.json**
    })
    .catch(error => {
        // get result from res.text() **res == res.text**
    })
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?如何获得res.json()在未来.then(),但如果失败,得到res.text()的.catch?

编辑:

我想获得.text在.catch …

javascript fetch es6-promise

13
推荐指数
2
解决办法
1万
查看次数

如何在 Blazor 中的输入组件内有条件地 PreventDefault?

我想仅在按下 Enter 时阻止输入(input带有 的 html 标记)的默认行为type="text"

protected void HandleKeyPress(KeyboardEventArgs keyboardEventArgs)
{
    if (keyboardEventArgs.Key == "Enter")
    {
        // prevent default
    }     

    // rest of function  
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以做@on{EVENT}:preventDefault之类的事情,但是如何在事件处理程序内有条件地执行此操作?

在javascript中我可以做类似的事情

function(e){
    if(e.keyCode == 13) {
      e.preventDefault();
    }
    // rest of function
}
Run Code Online (Sandbox Code Playgroud)

如何在 Blazor 中做同样的事情?

编辑:

我正在为库进行输入,但无法更改“提交”按钮,我需要在输入组件中防止这种情况发生。

blazor blazor-server-side

12
推荐指数
2
解决办法
5294
查看次数

使用功能组件中的 REST Api 调用更新 React Context

我正在尝试使用后端对 REST API 的 API 调用产生的数据更新 React 应用程序的上下文。问题是我无法同步该功能。

我已经尝试过这篇博客文章https://medium.com/@__davidflanagan/react-hooks-context-state-and-effects-aa899d8c8014 中建议的这个解决方案,但它不适用于我的情况。

这是 textContext.js 的代码

import React, {useEffect, useState} from "react";
import axios from "axios";

var text = "Test";

fetch(process.env.REACT_APP_TEXT_API)
    .then(res => res.json())
    .then(json => {
      text = json;
    })




const TextContext = React.createContext(text);
export const TextProvider = TextContext.Provider;
export const TextConsumer = TextContext.Consumer;

export default TextContext
Run Code Online (Sandbox Code Playgroud)

这是我尝试从上下文访问数据的功能组件

import TextProvider, {callTextApi} from "../../../../services/textService/textContext";
function  Profile()
{

  const text = useContext(TextProvider);
  console.log(text);
  const useStyles = makeStyles(theme => ({
    margin: {
      margin: …
Run Code Online (Sandbox Code Playgroud)

reactjs react-context

11
推荐指数
1
解决办法
1万
查看次数