我试图让 useRef obj 为 null 或函数,这里是代码片段
import "./styles.css";
import { useState, useRef, useEffect } from "react";
export default function App() {
const testRef = useRef<string | null>(null);
const unblockRef = useRef<() => void | null>(null);
useEffect(() => {
const test = () => {
console.log("hey");
};
testRef.current = "";
// this would give the error code
unblockRef.current = null;
// unblockRef.current = "saddsa";
}, []);
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
</div>
); …
Run Code Online (Sandbox Code Playgroud) 在iOS Safari上(我觉得哪个版本的iOS不重要,但我在iOS(Safari)11上进行测试),如果我<div>
在一个有效的元素上定位:hover
,并且<div>
有一个事件使它成为现实单击时消失,然后我的链接"underneath"获取从DOM中删除元素后应用的悬停效果.
请参阅下面的动画GIF我正在谈论的内容:
我已经为按钮提供了透明背景,因此您可以看到它背后的链接.当我在没有找到链接的位置点击按钮时,链接(即Some link
)保持蓝色并且不会更改为其悬停状态的红色.
然而,当我点击了div
在恰好是一个点正上方的链接,后div
从DOM删除,链接得到应用其悬停状态.
在每个链接之后单击该链接可正确触发其on.click
事件(警报窗口).
我在Chrome上的Android上没有看到这个问题(参见下面的示例):
您还可以在下面找到我使用的示例HTML/CSS/JS; 设置非常简单.
我希望iOS的行为方式与Android Chrome相同:即,点击立即从DOM中删除的元素不应该触发:hover
紧跟在其后面的元素的状态.
document.addEventListener("DOMContentLoaded", function ready() {
var button = document.querySelector(".button");
button.addEventListener("click", function() {
button.parentNode.removeChild(button);
});
document.querySelector('a').addEventListener("click", function() {
window.alert('clicked!');
});
});
Run Code Online (Sandbox Code Playgroud)
a:link { color: blue }
a:visited { color: blue }
a:hover { color: red }
a:active { color: green }
.button {
background: …
Run Code Online (Sandbox Code Playgroud)当我echo 'Hello World';
从Mac上的终端运行PHP中的简单脚本时,我看到%
行尾的百分号()出现了.
为什么是这样?我可以禁用它吗?
~ php -r "echo 'Hello World';"
Hello World%
~
Run Code Online (Sandbox Code Playgroud)
从技术上讲,我不是用bash做的,我正在运行Oh My Zsh,如果这很重要的话.
虽然该<meta name="viewport">
标签未标准化,但“由于事实上的主导地位,它受到大多数移动浏览器的尊重”。
它不是真正的 Web 标准的一个缺点是详细的文档不像其他标准那样可用。该CSS工作组对这个规范,所以这就是我主要用作为权威著作。
我的主要问题是:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Run Code Online (Sandbox Code Playgroud)
<meta name="viewport" content="initial-scale=1.0">
Run Code Online (Sandbox Code Playgroud)
或者被问到,这两个@viewport CSS at-rules之间有什么区别:
/* Translated from <meta name="viewport" content="width=device-width, initial-scale=1.0"> */
@viewport {
zoom: 1.0;
min-width: extend-to-zoom;
max-width: 100vw;
}
Run Code Online (Sandbox Code Playgroud)
/* Translated from <meta name="viewport" content="initial-scale=1.0"> */
@viewport {
zoom: 1.0;
min-width: extend-to-zoom;
max-width: extend-to-zoom;
}
Run Code Online (Sandbox Code Playgroud)
我是如何得出这些@viewport
翻译的:
width=device-width
到 min-width: extend-to-zoom; max-width: 100vw;
在CSS设备适配模块级别1号文件规定:
的
width
和height
视口<META>
特性被转换成width
和height
描述符,设置min-width
/ …
我正在尝试创建一个有序列表,其中每个li
列表都包含Foundation 5.5.3网格的一部分.
我遇到的问题是,我的li
元素是在其子网格列之前的顶部插入一些空格.
例:
经过一些调查,我发现这是由于基础CSS规则content: " "; display: table;
放在::before
我的行的psuedo元素上.
然而,重写/删除它会弄乱行本身的间距.
我试过把这个row
课脱离li
自己并插入一个孩子,div.row
但我仍然看到同样的问题.
要重申的是,我想内的每一个创建一个2柱网li
的的ol/ul
名单,但这样做,在每个顶部增加了一些垂直空间li
.我怎样才能摆脱这个空间,或者,我应该采取另一种方法来在几个li
s 内实现这个2列网格.
谢谢.
li {
background-color: #ddd;
padding: 5px;
}
li + li {
margin-top: 5px !important;
}
li > span {
background-color: yellow;
}
/* Trying to override ::before and ::after on .row */
.row.psuedo-override::before, .row.psuedo-override::after {
content: none !important;
}
Run Code Online (Sandbox Code Playgroud)
<link href="https://cdnjs.cloudflare.com/ajax/libs/foundation/5.5.3/css/foundation.css" …
Run Code Online (Sandbox Code Playgroud)在Chrome 86,fieldset
与max-height
比其内容的高度更低,overflow: hidden
将隐藏的内容fieldset
。
然而,在 Chrome v87 ( 87.0.4280.67
) 上,这显然改变了。
如果height
设置的a小于内容,则它会正确隐藏溢出。这个错误只出现在max-height
.
以下代码段将在 Chrome v86 及更早版本、Firefox 和 Safari 上正确呈现。在 Chrome 87 上,第一个fieldset
会溢出。
fieldset {
/* Reset user-agent styles */
padding: 0;
margin: 0;
border: 0;
overflow: hidden;
/* Misc */
background: cyan;
margin-top: 1em;
}
Run Code Online (Sandbox Code Playgroud)
<fieldset style="max-height: 9px">
This should be half-visible
(<code>max-height: 9px; overflow: hidden</code>)
</fieldset>
<fieldset style="height: 9px">
This should also be half-visible
(<code>height: 9px; …
Run Code Online (Sandbox Code Playgroud)我有一个 MySQL 数据库,我在所有表中使用一binary(36)
列作为唯一的列id
。
当引入phpMyAdmin 4.3.0时,他们似乎添加了一项功能,其中 BLOB 和 BINARY 类型的列将其数据显示为链接,单击该链接可以让您下载文件(在我的情况下,下载了.bin文件)。
如果要编辑数据,则必须单击单元格的空白部分以打开“编辑”模式。
我可以看到这很有用,但就我而言,我对它下载的 .bin 文件不感兴趣。
在较旧版本的 phpMyAdmin(例如4.1.0)中,此功能不可用(或至少默认情况下未启用)。您只需单击显示的文本,就会弹出编辑对话框。
我查看了phpMyAdmin 的文档,但找不到禁用此功能的设置。有$cfg['ProtectBinary']
设置,但我已经将它设置为blob
,所以这应该不是问题。
理想情况下,我想使用最新版本的 phpMyAdmin,但前提是我可以更改此设置。谢谢。
在没有详细介绍的情况下,我有一个C#WCF应用程序,它是我调用的基于XML的API的包装器.该API返回一个字符串,它实际上只是一个XML文档.然后我解析该XML,然后返回它.返回的信息在浏览器中显示为JSON.
有点令人困惑,但这里有一些采样代码:
[OperationContract]
[WebInvoke(Method = "GET", BodyStyle = WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Json, UriTemplate = "/TestGetUser")]
TestGetUserResponse TestGetUser();
/* ... */
[DataContract(Namespace = "http://schema.mytestdomain/", Name = "TestGetUser")]
public class TestGetUserResponse
{
[DataMember]
public User User { get; set; }
[DataMember]
public Error Error { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
并TestGetUser
存在:
public TestGetUserResponse TestGetUser() {
WebClient client = getCredentials(); // getCredentials() method is defined elsewhere
string apiUrl = "http://my.api.url.com/API";
string apiRequest = "<?xml version='1.0' encoding='utf-8' ?><test>My XML Request Lives Here</test>";
string …
Run Code Online (Sandbox Code Playgroud) 我需要更新MAMP v3.4服务器中的PATH变量。
如您所见, Apache 使用的PATH环境变量与我打开终端时使用的PATH不匹配。
<?php
passthru('env');
die();
Run Code Online (Sandbox Code Playgroud)
上面的脚本打印出:
...
PATH=/usr/bin:/bin:/usr/sbin:/sbin
...
Run Code Online (Sandbox Code Playgroud)
同时,我运行终端时的路径是:
$ env
...
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)
设置环境变量似乎很有希望,但在设置PATH/Applications/MAMP/conf/apache/httpd.conf
时不起作用。
# Near the top of my httpd.conf file...
SetEnv MY_TEST_DETAIL foo
SetEnv PATH /usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)
我重新启动我的 MAMP 服务器,然后查看phpinfo()
如您所见,它添加了MY_TEST_DETAIL环境变量,但没有更改PATH。
我有一个简单的<a class="button">
元素,我注意到在Firefox上,文字不像Chrome那样垂直对齐.
这是我的CSS:
body {
font-family: sans-serif;
font-size: 36px;
padding: 1em;
color: #333;
background-color: #f6f6f6;
}
.button {
font-size: 2em;
display: inline-block;
margin: 10px 0;
padding: 0.6em 1em;
text-align: center;
text-decoration: none;
text-transform: uppercase;
color: #333333;
background-color: #a3e7fc;
}
.button:hover {
background-color: #a5eaff;
}
.button:active {
background-color: #9bdcef;
}
Run Code Online (Sandbox Code Playgroud)
很基本的.这是一个codepen,所以你可以在浏览器中查看它:http://codepen.io/romellem/pen/GoazbW
现在我不确定,这就是为什么Firefox正在如此糟糕地渲染文本.也就是说,它在文本下面放了很多空间,但不是很多.
以下是一些截图:
搜索周围,我无法找到关于这个主题的阅读材料.
任何人都有任何想法为什么Firefox渲染文本底部的空格,但不是顶部?谢谢.
注意:我正在运行Mac OS X Yosemite(10.10.5).
安装节点模块时,NPM从默认注册表中获取软件包:
https://registry.npmjs.org
Run Code Online (Sandbox Code Playgroud)
我的公司正在托管自己的节点注册表,我想使用它。如何强制NPM使用此本地注册表。
我不想使用npm install --registry
选项。
有没有办法让特定计算机上的所有用户使用此内部注册表?
我正在使用webpack构建 svg-sprite。
\n但有一个问题:部分图标有多种颜色,而部分\xe2\x80\x94\xc2\xa0只有一种颜色。它们按原样使用。
\n一种颜色图标应根据:hover
/改变颜色:active
。
并且,根据此我应该清理一种颜色图标的填充属性。
\n我无法用多色的来做到这一点。
\n我决定将它们分开到不同的文件夹并创建两个 webpack 规则:
\n{\n test: /icon\\/.*\\.svg$/,\n loaders: [\n \'svg-sprite-loader\',\n {\n loader: \'svgo-loader\',\n options: {\n plugins: [\n // ...\n ],\n },\n },\n ],\n},\n{\n test: /monoicon\\/.*\\.svg$/,\n loaders: [\n \'svg-sprite-loader\',\n {\n loader: \'svgo-loader\',\n options: {\n enforce: \'pre\',\n plugins: [\n // ...\n { removeAttrs: { attrs: \'(fill|stroke)\' } },\n ],\n },\n },\n ],\n},\n
Run Code Online (Sandbox Code Playgroud)\n一切都很好,但实际上不起作用。我进入控制台:
\n\xe2\x80\xa6/monoicon/cross.svg\nModule build failed: Error: Error in parsing SVG: Non-whitespace before …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将 Servicenow 与 Azure Devops Board 集成,以使用 REST API 在工作项上创建/更新等
我成功地在工作项上创建和更新了很多东西
我找不到告诉工作项落在特定泳道中的 API
如果你查看我附上的图片,它有一个默认的泳道(测试)和自定义的......所以 H 有一个 api 将它从“ToDo”移动到“Doing”,但是如果你注意到有多个“Doing” “因为有不同的泳道,所以任何人都可以请帮助技巧是什么或告诉工作项落在特定泳道中的 API
我做了一些研究,发现“System.BoardLane”我确实在后期和补丁中使用过
错误:
{
"$id": "1",
"customProperties": {
"ReferenceName": null
},
"innerException": null,
"message": "TF401326: Invalid field status 'ReadOnly' for field 'System.BoardLane'.",
"typeName": "Microsoft.TeamFoundation.WorkItemTracking.Server.WorkItemFieldInvalidException, Microsoft.TeamFoundation.WorkItemTracking.Server",
"typeKey": "WorkItemFieldInvalidException",
"errorCode": 600171,
"eventId": 3200
}
Run Code Online (Sandbox Code Playgroud)
然后我使用了操作“op”:“move”
错误:
{
"$id": "1",
"innerException": null,
"message": "Move/Copy is not implemented.",
"typeName": "Microsoft.VisualStudio.Services.WebApi.Patch.PatchOperationFailedException, Microsoft.VisualStudio.Services.WebApi",
"typeKey": "PatchOperationFailedException",
"errorCode": 0,
"eventId": 3000
}
Run Code Online (Sandbox Code Playgroud) css ×5
html ×2
macos ×2
php ×2
reactjs ×2
.net ×1
azure-devops ×1
c# ×1
css3 ×1
encoding ×1
fieldset ×1
firefox ×1
flowtype ×1
ios ×1
javascript ×1
layout ×1
mamp ×1
meta ×1
meta-tags ×1
node.js ×1
npm ×1
npm-install ×1
overflow ×1
phpmyadmin ×1
svg ×1
terminal ×1
typescript ×1
viewport ×1
webpack ×1