小编Sta*_*nas的帖子

滑动以像whatsapp / viber一样在react-native中录制动画

我想复制长按来录制并向左滑动来取消whatsapp/viber Messenger。


import React, {useRef, useState} from 'react';
import {
  Dimensions,
  TextInput,
  TouchableWithoutFeedback,
  View,
  PanResponder,
  Animated as NativeAnimated,
} from 'react-native';
import Animated, {Easing} from 'react-native-reanimated';
import styled from 'styled-components';
import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons';

const {Value, timing} = Animated;

let isMoving = false;

const width = Dimensions.get('window').width;
const height = Dimensions.get('window').height;

const RecordButton = ({onPress, onPressIn, onPressOut}) => (
  <RecordButton.Container
    accessibilityLabel="send message"
    accessibilityRole="button"
    accessibilityHint="tap to send message">
    <TouchableWithoutFeedback
      delayPressOut={900}
      pressRetentionOffset={300}
      onPress={onPress}
      onPressIn={onPressIn}
      onPressOut={onPressOut}>
      <RecordButton.Icon />
    </TouchableWithoutFeedback>
  </RecordButton.Container>
);

RecordButton.Container = …
Run Code Online (Sandbox Code Playgroud)

react-native react-animated react-native-reanimated

8
推荐指数
0
解决办法
2269
查看次数

产品变体的动态选择,比较 2 个数组

对不起,标题不好,找不到更好的。

产品选项:

[
  {
    "_id": "5cdd1e81e85ecc7ebb145039",
    "name": "Sizes S/M - M/L - L/XL ",
    "display_name": "Size",
    "display_style": "rectangle",
    "values": [
      {
        "_id": "5cdd1e81e85ecc7ebb14503a",
        "label": "Small / Medium",
        "option_id": "5cdd1e81e85ecc7ebb145039"
      },
      {
        "_id": "5cdd1e81e85ecc7ebb14503b",
        "label": "Large / X-Large",
        "option_id": "5cdd1e81e85ecc7ebb145039"
      },
      {
        "_id": "5da8080ea51d8207e9098875",
        "label": "Medium / Large",
        "option_id": "5cdd1e81e85ecc7ebb145039"
      }
    ]
  },
  {
     "_id": "5cdd280ce85ecc7ebb145040",
    "name": "Hat Sizes ?? 56-57 / 58-59 / 60-61",
    "display_name": "Hat Size",
    "display_style": "rectangle",
    "values": [
      {
        "_id": "5cdd280ce85ecc7ebb145041",
        "label": "56 / 57",
        "option_id": "5cdd280ce85ecc7ebb145040" …
Run Code Online (Sandbox Code Playgroud)

javascript arrays reactjs

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

查找并替换对象数组javascript中的值

我有一个对象数组:

[
 {
    "enabled": true,
    "deviceID": "eI2K-6iUvVw:APA"
},
{
    "enabled": true,
    "deviceID": "e_Fhn7sWzXE:APA"
},
{
    "enabled": true,
    "deviceID": "e65K-6RRvVw:APA"
}]
Run Code Online (Sandbox Code Playgroud)

一个POST请求带有deviceID eI2K-6iUvVw:APA,我想要做的就是迭代数组,找到deviceID并将enabled值更改为false.

怎么可能在javascript中?

javascript arrays lodash

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

从包含对象的嵌套数组数组创建新对象

我有以下带有嵌套数组的数组:

const options = [
  [
    {
      label: "Blue",
      option_id: "1"
    },
    {

      label: "Small",
      option_id: "2"
    }
  ],
  [
    {
      label: "Red",
      option_id: "1"
    },
    {
      label: "Large",
      option_id: "2"
    }
  ]
];

Run Code Online (Sandbox Code Playgroud)

我想从每对对象创建一个对象数组,例如:

[
 {
   label: ”Blue Small“,
   option_id: [1,2]
 },
...
]

Run Code Online (Sandbox Code Playgroud)

编辑:谢谢大家的伟大答案

javascript arrays

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

如何在Angular 2中使用ngModel过滤空值?

流:

  1. 用户提交带有一些数据的表单,用户未填写的一些可选字段在mongo中保存为"null".
  2. 稍后,用户决定编辑该表单.
  3. 服务抓取表单并将其显示给用户.
  4. 表单输入框显示"null",因为在步骤1中他没有填充它们.

所以,我创建了一个管道:

import {Pipe, PipeTransform} from '@angular/core';

@Pipe({
name: 'transformNull'
 })

export class TransformNull implements PipeTransform {

transform(value) {
if (value == null) {
  return null;
 }
}
Run Code Online (Sandbox Code Playgroud)

然后,在HTML中我试图分解ngModel:

[ngModel]="user.extraInfo | transformNull" (ngModelChange)="user.extraInfo.value=$event"
Run Code Online (Sandbox Code Playgroud)

这导致了这个错误:

Cannot set property 'value' of undefined TypeError: Cannot set property 'value' of undefined
Run Code Online (Sandbox Code Playgroud)

我试图用*ngIf ="isDataAvailable"延迟页面加载,错误消失,用户可以保存表单,值存储到mongo 但是当他刷新页面时,输入框为空.

然后我删除了*ngIf,添加了elvis运算符,但值错误又回来了.

我正在使用zone.js v0.7.4,试用0.7.2和0.7.5但没有运气.

我在这里错过了什么?

angular2-forms angular2-services angular

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

从Angular 2上的查询参数预填充输入文本框

我在一个页面上有一个带有2个输入框的表单,当我单击提交时,路由器导航到另一个页面,其中包含2个输入框和一个提交按钮.

到目前为止,我已设法将查询参数传递到第二页并预填充输入框.

问题是,当我点击第2页的提交按钮时,输入框中的值不会被提交.如果我"触摸"框并输入其他内容,则提交工作正常并且正在提交编辑的值.

第一页(我将剩下的代码遗漏,这部分工作正常)

this._router.navigate(['/dashboard/test/new'], 
{ queryParams: {'name': this.name.value , 'lastname':this.lastname.value}});
Run Code Online (Sandbox Code Playgroud)

第2页

private subscription: Subscription
paramName: string;
paramLastName: string

this.subscription = this.activatedRoute.queryParams.subscribe(
  params => {
    this.paramName     = params['name'];
    this.paramLastName = params['lastname'];
  }
)
Run Code Online (Sandbox Code Playgroud)

这是html:

<form [formGroup]="myFormTest" (ngSubmit)="onSubmitNew()" class="onl_loginForm" novalidate>
      <div class="form-group">
        <label for="name" class="control-label">Name </label>
        <input type="text" formControlName="name" class="form-control" id="name"  value="{{paramName}}" required>
      </div>
      <div class="form-group">
        <label for="lastname" class="control-label">Last Name </label>
        <input type="text" formControlName="lastName" class="form-control" id="lastname" value="{{paramLastName}}" required>
      </div>
<button type="submit" class="btn-save">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)

如何强制表单"读取"两个输入字段值而不触及它们?

angular2-forms angular2-routing angular

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

React antd 表在按钮单击时重置搜索框输入

我想在使用 antd 表时单击按钮时重置自定义搜索下拉文本输入。

我无法引用filterDropdown,我尝试引用该表,但没有成功,它不会给我返回信息handleClearFilters以清除搜索输入,因为该道具属于filterDropdown。

有人设法清除搜索输入吗?

游乐场: https://codesandbox.io/s/87o53mq29

更新:

这是根据 @shubham 回答的最终工作代码:

import React, { Fragment } from "react";
import ReactDOM from "react-dom";
import "antd/dist/antd.css";
import "./index.css";
import { Table, Input, Button, Icon } from "antd";
import Highlighter from "react-highlight-words";

class App extends React.Component {
  state = {
    searchText: "",
    key: 0,
    data: [
      {
        key: "1",
        name: "John Brown"
      },
      {
        key: "2",
        name: "Joe Black"
      }
    ]
  };

  getColumnSearchProps = dataIndex => ({ …
Run Code Online (Sandbox Code Playgroud)

reactjs antd

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

如何使用 MongoDB 中的 2 个字段的总和进行排序

我有这个文件:

{ 
 "_id": "59b804e1ee8a4071a5ea3fcc",
 "description" : "description",
 "imagepath" : "https://example.com",
 "type" : "label",
 "downvotes" : -25,
 "upvotes" : 15, 
 "language" : "en", 
 "approoved" : true
},
{ 
 "_id": "59b804e1ee8a4071a5ea4dfd",
 "description" : "description",
 "imagepath" : "https://example.com",
 "type" : "label",
 "downvotes" : 0,
 "upvotes" : 30, 
 "language" : "en", 
 "approoved" : true
}
Run Code Online (Sandbox Code Playgroud)

如何按upvotes&downvotes值的总和对这 2 个对象进行排序?

(带有 id 的对象59b804e1ee8a4071a5ea4dfd应该放在最前面,依此类推)

我试图聚合

{"$group" : {
    _id:{upvotes:"$upvotes",downvotes:"$downvotes"}, 
    count:{$sum:1}
}} 
Run Code Online (Sandbox Code Playgroud)

但它将所有类似的文档归为一组。我无法弄清楚聚合过程/语法。

编辑:根据 Veeram 的回答,这里是使用猫鼬的工作代码,以防万一有人掉线:

Labels.aggregate([
        {"$addFields":{ "sort_order":{"$add":["$upvotes", "$downvotes"]}}},
        {"$sort":{"sort_order":-1}}, …
Run Code Online (Sandbox Code Playgroud)

mongodb node.js express aggregation-framework

0
推荐指数
2
解决办法
1074
查看次数