我希望能够取消选中单选按钮,想法是这样的:如果我点击某个单选按钮,它将被选中,如果我点击另一个字段,这个另一个字段将被选中但是如果我点击在已选中的字段上,我希望取消选中它,以便所有字段都为空。我试图抓住被选中或取消选中的时刻,但似乎与复选框相反,单选按钮没有这个字段。有谁知道如何实现这一目标?
setTests = (key, e) => {
console.log(e.checked)
if (e.checked) {
// this.setState({[key]: null})
console.log('works')
}
}
RadioGroup
value={this.state.test_mode}
style={{ display: "block" }}
onChange={e => this.setTests({ "test_mode", e.target })}
>
<FormControlLabel value="before" control={<Radio color="primary"/>} label="before tests" />
<FormControlLabel value="progressing" control={<Radio color="primary"/>} label="progressing" />
<FormControlLabel value="done" control={<Radio color="primary"/>} label="done" />
</RadioGroup>
Run Code Online (Sandbox Code Playgroud) 我有钩子 useInterval ,它每 10 秒自动下载一次数据,但是我也有按钮,它可以每时每刻手动下载数据。当我单击按钮时,我很难重新启动间隔计时器。所以基本上,如果间隔计数到 5,但我同时单击按钮,间隔应该重新启动,并在下载数据之前再次开始计数到 10
const useInterval = (callback, delay) => {
const savedCallback = useRef(callback);
useEffect(() => {
savedCallback.current = callback;
}, [callback]);
useEffect(() => {
const tick = () => {
savedCallback.current();
}
if (delay !== null) {
const id = setInterval(tick, delay);
return () => clearInterval(id);
}
}, [delay]);
};
export default useInterval;
Run Code Online (Sandbox Code Playgroud)
应用程序部分:
useInterval(() => {
getMessage();
}, 10000)
const getMessage = async () => {
setProcessing(true)
try {
const res = await fetch('url') …Run Code Online (Sandbox Code Playgroud) 我在 python 方面没有太多经验,但是有任务在 django 中编写服务器,它将处理我从前端发送的 api 请求,问题是 eventho GET 运行良好,POST 仍然会抛出一些错误。如果我通过管理面板添加新徽标,它会起作用,当我尝试通过邮递员这样做时,它会抛出此错误:
Traceback (most recent call last):
File "/home/user/.local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/home/user/.local/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/home/user/.local/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/user/.local/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "/home/user/.local/lib/python3.6/site-packages/rest_framework/viewsets.py", line 114, in view
return self.dispatch(request, *args, **kwargs)
File "/home/user/.local/lib/python3.6/site-packages/rest_framework/views.py", line 505, in dispatch
response = self.handle_exception(exc)
File "/home/user/.local/lib/python3.6/site-packages/rest_framework/views.py", line 465, in handle_exception …Run Code Online (Sandbox Code Playgroud) 我正在 React Native 中开发应用程序,并希望允许用户只输入字母或数字,所以如果第一个字符是字母,那么用户将无法在此之后输入任何数字,如果第一个字符是相反的数字,然后用户将无法在此之后键入任何字母。实际上不知道如何启动它,我想最好的方法是使用正则表达式检查第一个字符,然后基于此禁用键入字母/数字,但不确定如何操作。
(/[a-zA-Z]/).test(this.state.myValue.charAt(0)) ? "disable typing numbers" : "disable typing letters"
Run Code Online (Sandbox Code Playgroud)
我的 TextInput 看起来像这样:
<TextInput
onChangeText={e=> this.handleInput(e), "myValue"}
value={this.state.myValue}
/>
handleInput(value, key) {
/^(?:[A-Za-z]+|\d+)$/.test(value) ? "block number" : "block letter"
this.setState({[key]: value)}
}
Run Code Online (Sandbox Code Playgroud) 我想安装自定义样式,以便在 Visual Studio 代码中为类和属性使用不同的字体。
我安装了自定义 CSS 和 JS 加载器扩展,并按照指南进行操作,但它似乎不起作用。
这是我尝试过的。我创建了一个文件styles.css,在其中放置了以下代码:
.mtk1,
.mtk2,
.mtk8,
.mtk9,
.mtk10,
.mtk12,
.mtk11,
.mtk7,
.mtk3,
.mtk13,
.mtk16 {
margin-left: 1px;
font-family: "Indie Flower";
font-size: 1em;
}
.mtk7,
.mtk4 {
font-family: "Arial";
font-size: 0.7em;
}
/*
For the tab titles.
*/
.monaco-icon-label-description-container .label-name {
font-family: "Indie Flower";
font-size: 1.3em;
}
.tabs-container .monaco-icon-label-description-container .label-name,
.sidebar .monaco-icon-label-description-container .label-name,
.quick-open-row .monaco-icon-label-description-container .label-name {
font-family: -apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,Ubuntu,Droid Sans,sans-serif;
font-size: 1em;
}
Run Code Online (Sandbox Code Playgroud)
然后settings.json我添加了以下设置:
{
"vscode_custom_css.imports": …Run Code Online (Sandbox Code Playgroud) 我已经构建了 django 服务器来管理我的数据,然后我有桌面 React 应用程序,我可以在其中创建新用户/登录/发布数据,它工作完美,它基于 csrf 令牌验证,没有问题。不过,我还有反应本机应用程序,它应该让用户登录并获取属于他的数据。这里有一个问题,如何在 React Native 中获取 CSRF 令牌?在桌面应用程序中,它看起来或多或少像这样,但我不知道如何登录反应本机,因为我不能简单地使用 csrf 令牌获取 Cookie。
componentDidMount() {
const csrfToken = Cookies.get('csrftoken')
this.setState({csrfToken})
}
loginHandler = login_data => {
this.setState({
user: login_data.user,
password: login_data.password
}, () => {
const auth = {
"username": this.state.user,
"password": this.state.password
}
fetch("http://localhost:8000/data/", {
method: 'POST',
credentials: 'include',
headers: {
"X-CSRFToken": this.state.csrfToken,
},
body: JSON.stringify(auth)
})
.then((res) => res.json())
.then(resp => console.log(resp))
.then(() => this.getData())
.catch(() => this.setState({
user: "",
passowrd: ""
}))
})
};
Run Code Online (Sandbox Code Playgroud) reactjs ×4
django ×2
react-native ×2
csrf ×1
javascript ×1
material-ui ×1
python ×1
radio-button ×1
react-hooks ×1
regex ×1