我试图了解某些 DOM 是否从渲染的组件中删除。那么,我如何将当前组件 HTML 输出到 VSCode 控制台,以查看实际呈现的内容。这是我的简单测试。我想做类似的事情:console.log(renderer.<page content>)
import { render, fireEvent, waitForElementToBeRemoved } from '@testing-library/react'
it ('test', async () => {
const renderer = render(<MyComponent />)
fireEvent.click(renderer.getByText('Click to Hide'))
await waitForElementToBeRemoved(() => renderer.getByText('text to hide'))
})
Run Code Online (Sandbox Code Playgroud) 这是我的 docker-compose.yaml 文件的一部分
version: '3.4'
services:
app:
build:
context: .
dockerfile: Dockerfile
working_dir: /app
deploy:
resources:
limits:
cpus: '0.50'
memory: 23M
Run Code Online (Sandbox Code Playgroud)
开始吧 docker-compose up -d
当我这样做时,docker stats它说限制仍然是 1.9GiB。我究竟做错了什么?
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM %
13b6588evc1e app_1 1.86% 20.45MiB / 1.952GiB 1.02%
Run Code Online (Sandbox Code Playgroud) 我有一个简单的dojo treeGrid,它只按第一列分类.但是如何使其分类/折叠呢?请注意,treeGrid在每个类别中都显示了总计.此外,有没有办法将总计移至类别级别但不是底部?
var layout = [
{ cells: [
[ {field: "year", name: "Year"},
{field: "childItems",
children: [ { field: "unid", name: "unid", hidden: true},
{ field: "geography", name: "Geography"},
{ field: "country", name: "Coungtry"},
{ field: "status", name: "Status"},
{ field: "credit", name: "Credit"},
{ field: "debit", name: "Debit"}
],
aggregate: "sum"
}
]] } ]
var jsonStore = new dojo.data.ItemFileWriteStore({ url: <...............>});
var grid = new dojox.grid.TreeGrid({
structure: layout,
store: jsonStore,
query: {type: 'year'},
queryOptions: {deep: true},
rowSelector: …Run Code Online (Sandbox Code Playgroud) 这是我的组件类,我尝试将表单单选按钮值设置为1:
import { FormGroup, FormControl } from '@angular/forms';
export class myComponent implements OnInit{
pageForm: FormGroup;
ngOnInit() {
this.pageForm = new FormGroup({
'gndr': new FormControl(1)
});
}
}
Run Code Online (Sandbox Code Playgroud)
但是当加载页面时,"单选按钮"未设置为"男性"且两个选项均为空白:
<div class="form-group">
<label for="gender">Gender</label>
<div class="radio">
<label>
<input type="radio" name="gndr" formControlName="gndr" value=1>Male
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="gndr" formControlName="gndr" value=0>Female
</label>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
那么如何从我的组件类加载单选按钮值?
文档到期字段是使用日期时间还是秒或毫秒设置的?据我所知,这是秒:
"expiration": 1543086426,
Run Code Online (Sandbox Code Playgroud)
所以 1543086426 = Saturday, November 24, 2018 7:07:06 PM
那么为什么Cloudant会删除该文档?如果是毫秒,那么:
1543086426 = Sunday 18 January 1970 12:38:06
Run Code Online (Sandbox Code Playgroud)
这解释了.那么如何为cloudant文档设置合适的到期值,例如在1个月后呢?
此外,哪个Cloudant任务负责删除文档?它开始的频率是多少?
我有一个非常大的treeGrid(一个节点中有~2000个元素).当我点击[+]展开它时似乎被冻结了.我想在点击后将鼠标光标状态更改为"等待",但是一旦展开就会改为"默认".假设我可以将它放在onRowClick或onOpen事件中但是什么是onComplete事件我可以重置光标?还有一种方法/属性来查看行是展开还是折叠?我想改变它的风格.
var layout = [
{
cells: [
[
{ field: "userid", name: "User Id" },
{
field: "childItems",
children: [
{ field: "unid", name: "unid" },
{ field: "username", name: "User Name" },
{ field: "budget", name: "Budget" }
],
aggregate: "sum"
}
]
]
}
]
var jsonStore = new dojo.data.ItemFileWriteStore({ url: <...............>});
var grid = new dojox.grid.TreeGrid(
{
structure: layout,
store: jsonStore,
query: { type: 'userid' },
queryOptions: { deep: true },
rowSelector: true,
openAtLevels: [false],
autoWidth: …Run Code Online (Sandbox Code Playgroud) 似乎IE不允许直接打开Blob。您必须使用msSaveOrOpenBlob。但是有什么办法可以转换它。我确实需要在不下载IE的情况下将PDF显示到IE的新选项卡中,或者至少用户不应进行交互,也不要看到将其下载到例如system temp文件夹中。Safai在同一窗口而不是新选项卡中打开它,但是主要问题是IE。使所有浏览器工作类似的主要想法,并在新选项卡中将其打开以进行预览。
let blob = new Blob([response], {
type: 'application/pdf'
});
if (window.navigator && window.navigator.msSaveOrOpenBlob) {//IE
window.navigator.msSaveOrOpenBlob(response, "TheDocumentToShow.pdf");
} else {
var fileURL = URL.createObjectURL(response);
if (navigator.userAgent.indexOf("Chrome") != -1 || navigator.userAgent.indexOf("Firefox") != -1){
let win = window.open(fileURL, '_blank');
} else { //Safari & Opera iOS
window.location.href = fileURL;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用汇总指标而不是安静地了解我将 summary.observe 调用放在哪里?这是舞会客户端示例(您可以在 npm 上找到):
const client = require('prom-client');
const summary = new client.Summary({
name: 'metric_name',
help: 'metric_help'
});
summary.observe(10);
Run Code Online (Sandbox Code Playgroud)
但没有足够的信息如何使用它。
const client = require('prom-client');
const summary = new client.Summary({
name: 'metric_name',
help: 'metric_help'
});
summary.observe(10); // do I put it here?
async myFunc(){
await this.serviceCall();
summary.observe(10); // or here?
}
Run Code Online (Sandbox Code Playgroud)
有人有总结观察的好例子/解释吗?
我的组件有多个选择器:
import { useSelector } from 'react-redux'
...
const data1 = useSelector(xxxxx)
const data2 = useSelector(yyyyy)
Run Code Online (Sandbox Code Playgroud)
如何正确模拟测试文件中的每个?
import { useSelector } from 'react-redux'
jest.mock('react-redux', () => ({
useSelector: jest.fn()
}))
....
useSelector.mockImplementation(() => ({
dataready: true
}))
Run Code Online (Sandbox Code Playgroud)
在这种情况下它真正嘲笑的是哪个选择器?
这个简单的代码使应用程序崩溃而内存不足:
var buf;
console.log(process.memoryUsage())
for(i=0; i<10000000; i++){
buf = Buffer.alloc(1024)
buf.clear
delete buf
buf = null
}
console.log(process.memoryUsage())
Run Code Online (Sandbox Code Playgroud)
那么如何正确回收缓冲区以便可以重用呢?不知道清除或删除是否是适当的方法,但是怎么办?谢谢
javascript ×5
angular ×2
dojo ×2
json ×2
node.js ×2
reactjs ×2
treegrid ×2
unit-testing ×2
buffer ×1
cloudant ×1
docker ×1
dockerfile ×1
dojox.grid ×1
dom-events ×1
grafana ×1
html ×1
ibm-cloud ×1
prometheus ×1
typescript ×1