小编wiz*_*loc的帖子

该文档不存在,也不会出现在查询或快照中,但是结构相同的文档有效

前言:这里已经问这个问题但用户放弃了对第一个答案的解决方案。这个问题也不同,因为我有两个相似的集合结构,但是错误仅发生在其中一个上。

我正在使用Google的新的Firestore数据库,并创建了以下结构:区域/ {区域列表} /调度/ {调度列表} / {调度信息}

我们正在使用此方法通过Firebase Admin SDK在后端创建自定义令牌。当用户在后端登录时,我们会生成令牌并添加他们可以访问的区域作为其他声明,我们打算从安全规则中的auth / request.auth对象访问这些域,以限制他们对调度文档的访问相应地。我提到这个是为了防止我们错误地处理结构,在这种情况下,请纠正我,因为我们是Firestore的新手。

我们遇到的问题是其中一个文档发出警告:“此文档不存在,不会出现在查询或快照中”(请参见下图)。但是,我们有一个相同的文档结构(图像中的文档7)不会发出此警告,并且会出现在查询和快照中。 在此处输入图片说明

database firebase google-cloud-firestore

6
推荐指数
2
解决办法
3501
查看次数

如何将对象键/值组合成单个数组?

我有一个带有几个键的javascript对象,其值是对象数组.我试图将所有键/值组合成一个对象数组.所以来自

{
    a: [{}, {}, {}],
    b: [{}, {}, {}],
    c: [{}, {}, {}]
}
Run Code Online (Sandbox Code Playgroud)

[{}, {}, {}, {}, {}, ...]
Run Code Online (Sandbox Code Playgroud)

我正在尝试类似的东西

Object.keys(myObject).map(key => myObject[key])
Run Code Online (Sandbox Code Playgroud)

这导致一个内部有3个数组的数组.

我也尝试过使用lodash和做

Object.keys(myObject).map(key => _.values(myObject[key]))
Run Code Online (Sandbox Code Playgroud)

这似乎导致了同样的事情.我该怎么做呢?最好是像我一样尝试而不是循环.很抱歉,如果已经提出这个问题,我不知道该如何说出问题以找到结果

javascript arrays

6
推荐指数
1
解决办法
2676
查看次数

动画方形div成梯形

正如标题所述,我试图使用jquery .animate()将方形div动画为梯形.但是,我得到的唯一动画是宽度调整,我不太清楚为什么会出现这种情况.

$(function () {
    $('.square').hover(function () {
        $(this).animate({
            borderRight: '100px solid red',
            borderTop: '50px solid transparent',
            borderBottom: '50px solid transparent',
            height: '100px',
            width: '0'
        });
    });
});
Run Code Online (Sandbox Code Playgroud)
div.square {
    height: 100px;
    width: 100px;
    background-color: red;
}
div.left {
	border-right: 100px solid red;
	border-top: 50px solid transparent;
	border-bottom: 50px solid transparent;
	height: 100px;
	width: 0;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="square"></div>


<div class="left"></div>
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

5
推荐指数
1
解决办法
313
查看次数

如何一次设置多个 onSnapshot() 侦听器

我正在使用 react-native-firebase ^3.1.1 和 react-native ^0.49.5。我的应用程序的用户对区域具有可变权限。例如,用户 A 可能只有区域 1 的权限,而用户 B 可能有区域 1、2 和 3 的权限。当应用程序启动时,我设置了快照侦听器来侦听与区域对应的文档的更改用户有权访问。由于没有逻辑或,我必须为每个区域循环并设置一个如下所示的快照侦听器

componentDidMount() {
let { territories } = this.props
territories.forEach(territory => {
  this.unsubscribe.push(
    firebase
      .firestore()
      .collection('dispatches')
      .where('territory_id', '==', territory)
      .onSnapshot(querySnapshot => {
        const dispatches = []
        querySnapshot.forEach(document => {
          dispatches.push(document.data())
        })
        this.props.handleDispatchUpdate(territory, dispatches)
      })
  )
})
}
Run Code Online (Sandbox Code Playgroud)

这似乎有效,但我的应用程序在设置侦听器时“冻结”。例如,如果用户尝试打开侧边抽屉菜单或以任何方式与应用程序交互,平均约 8 秒或有时长达一分钟以上没有任何反应,那么所有操作似乎都同时发生。

我添加了控制台日志语句来检查它是否是由于应用程序和 firebase 之间的网络时间造成的,如下所示

  componentDidMount() {
let { territories } = this.props
territories.forEach(territory => {
  console.log(`Starting read for territory item ${territories.indexOf(territory)}`, moment().format('hh:mm:ss'))
  this.unsubscribe.push(
    firebase
      .firestore()
      .collection('dispatches') …
Run Code Online (Sandbox Code Playgroud)

firebase react-native google-cloud-firestore

5
推荐指数
0
解决办法
1721
查看次数

如何使用 React Native Animate 将视图 flex 从 0 更改为 1

我在另一个视图中有两个视图,该视图具有默认的 flexDirection 样式,因此它是柱状的。当用户单击底部视图中的项目(下面标记的选项)时,我希望顶部视图的动画大小与底部视图相同,并显示所选选项的详细信息。

state = {
    animation: new Animated.Value(0)
}

...

<View style={{flex: 1}}>
  <Animated.View style={{ flex: this.state.animation}}>
      {...details}
  </Animated.View>
  <View style={{flex:1}}>
      {...options}
  </View>
</View>
Run Code Online (Sandbox Code Playgroud)

我正在使用以下方法更改值以将 flex 增长到 1。

onPress = () => {
    Animated.timing(this.state.animation, {
        toValue: 1,
        duration: 1000
    }).start()
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是没有动画,无论我设置的持续时间如何,它都会立即出现。

css flexbox reactjs react-native

5
推荐指数
1
解决办法
8250
查看次数

创建完整的导出react-native的索引文件

是否有可能在本机中创建一个索引文件,您可以从中引用导入而不是执行'../../folder/component'?

我尝试了几种不同的方法,包括以下方法:

组件文件夹

-> chat
  -> Chat.js
-> dashboard
  -> Dashboard.js
-> home
  -> Home.js
-> index.js
Run Code Online (Sandbox Code Playgroud)

index.js

import Home from './home/Home'
import Dashboard from './dashboard/Dashboard'
import Chat from './chat/Chat'

module.exports = {
    Home,
    Dashboard,
    Chat,
}
Run Code Online (Sandbox Code Playgroud)

然后在组件内部,让我们说Dashboard, import { Home, Chat } from '../components'

另一种方法:

index.js

export Home from './home/Home'
export Dashboard from './dashboard/Dashboard'
export Chat from './chat/Chat'
Run Code Online (Sandbox Code Playgroud)

我也试过用curlies围绕导出,export { Home } from './home/Home'因为编译器抛出了一个错误,但它仍然没有这样工作.

我也在这个用户问题中尝试了这个方法.在react-native中需要模块

这个功能在react-native中是否可行?

react-native

4
推荐指数
1
解决办法
4404
查看次数

weasyprint 不在输出文件中应用 css 样式

我正在尝试使用带有库的脚本pdf从页面输出。我得到了文件形式的输出,但页面没有样式,但我使用的是 bootstrap css 样式。这是我的代码片段:htmlpythonweasyprintpdfpdf

HTML('./result.html').write_pdf('./result.pdf', stylesheets=[CSS(filename='./bootstrap.css')])
Run Code Online (Sandbox Code Playgroud)

结果.html 文件:

<html>
<head>
    <link rel="stylesheet" href="bootstrap.css">
</head>
<body>
<h1 class='text-primary'>Title</h1>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

WeasyPrint 版本:0.40

python weasyprint

3
推荐指数
1
解决办法
9694
查看次数

如何在母版页ASP.NET上实现搜索栏

我正在尝试为我的ASP.NET页面创建一个搜索栏,它将包含在主页中,以便它将显示在所有页面上.输入搜索文本并点击搜索将发送到results.aspx,然后从主页面搜索框中检索文本的值,并在网格视图中显示数据库中的数据.从我的主页搜索工作正常,但我希望用户能够在结果页面上输入新的搜索文本,并在网格视图中使用新数据重新加载页面.这是results.aspx页面加载的代码

   if (PreviousPage != null)
            {
                TextBox SourceTextBox =
                    (TextBox)PreviousPage.Master.FindControl("txtSearchMaster");
                if (SourceTextBox != null)
                {
                    txtSearch.Text = SourceTextBox.Text;
                }
            }
Run Code Online (Sandbox Code Playgroud)

母版页上的代码

    <div id="search">
         <asp:HyperLink ID="linkAddFile" runat="server" BorderStyle="None" NavigateUrl="~/Default.aspx" Width="150px" >Add File</asp:HyperLink>
         <asp:TextBox ID="txtSearchMaster" runat="server"></asp:TextBox>
         <asp:Button ID="btnSearch" runat="server" Text="Search" PostBackUrl="~/results.aspx" />
     </div>
Run Code Online (Sandbox Code Playgroud)

问题是,一旦我到达结果页面并尝试从那里进行新搜索,我的条件(PreviousPage!= null)表示它空.

c# asp.net

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