小编Sol*_*ole的帖子

在Swift 3中更改UIBarButtonItem(image)的大小

我试图改变我的navBar中某些图标的大小,但我对如何做到这一点感到有点困惑?到目前为止我的代码是:

func setUpNavBarButtons() {
    let moreButton = UIBarButtonItem (image: UIImage(named:"ic_more_vert_3")?.withRenderingMode(.alwaysOriginal), style: .plain, target: self, action: #selector(handleMore))
    navigationItem.rightBarButtonItems = [moreButton]
    let refreshButton = UIBarButtonItem (image: UIImage(named:"ic_refresh")?.withRenderingMode(.alwaysOriginal), style: .plain, target: self, action: #selector(refreshDataButton))
    navigationItem.leftBarButtonItems = [refreshButton]
}
Run Code Online (Sandbox Code Playgroud)

任何帮助?

xcode ios swift3

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

限制Ionic App的纵向方向

我正在使用Ionic,cordova制作应用程序.我试图将视图的方向限制为仅限肖像,我在config.xml文件中执行以下操作,但它仍然没有任何想法吗?

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.ionicframework.ionicucas805049" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
  <name>ionicUcas</name>
  <description>
        An Ionic Framework and Cordova project.
    </description>
  <author email="hi@ionicframework" href="http://ionicframework.com/">
      Ionic Framework Team
    </author>
  <content src="index.html"/>
  <access origin="*"/>
  <preference name="webviewbounce" value="false"/>
  <preference name="UIWebViewBounce" value="false"/>
  <preference name="DisallowOverscroll" value="true"/>
  <preference name="BackupWebStorage" value="none"/>
  <preference name="Orienation" value="portrait" />
  <feature name="StatusBar">
    <param name="ios-package" value="CDVStatusBar" onload="true"/>
  </feature>
</widget>
Run Code Online (Sandbox Code Playgroud)

我添加了<preference name="Orienation" value="portrait" /> 但没有喜悦....

cordova ionic

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

使用React手动刷新react-query onClick

当我重新获取查询时,当我有 onClick 按钮时,它会进入“正在更新...”状态,但我希望重新获取查询并显示“正在加载...”状态。我的代码是:

https://stackblitz.com/edit/react-ts-jfq8ve?file=index.tsx

import React, { useEffect } from 'react';
import { render } from 'react-dom';
import { useQuery } from 'react-query';
import axios from 'axios';
import { QueryClient, QueryClientProvider } from 'react-query';

const App: React.FunctionComponent = () => {
  const [value, setValue] = React.useState<number>(7);

  const queryKey = 'getData';

  const getData = async (): Promise<any> => {
    await new Promise((resolve) => setTimeout(resolve, 1000));
    const response = await axios
      .get(`https://jsonplaceholder.typicode.com/todos`)
      .then((res) => res.data);
    return response;
  };

  const {
    data: result, …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-query

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

在 Angular 中显示来自 Rest Api 的数据的正确方法

我在 Angular 中有一项服务,它从 API 调用数据。那么当我试图显示它没有显示的数据时?

服务

import { Injectable } from '@angular/core';
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
import { Observable, of, throwError } from 'rxjs';
import { catchError, retry } from 'rxjs/operators';

@Injectable()
export class ApiService {

   api: string = 'https://newsapi.org/v2/top-headlines?country=gb&category=entertainment&apiKey=8ee8c21b20d24b37856fc3ab1e22a1e5';

  constructor(
    private http: HttpClient,
  ) { }

getAll(): Observable<any> {
    return this.http.get(this.api)
    .pipe(
      catchError(this.handleError)
    );
  }

  private handleError(error: HttpErrorResponse) {
    if (error.error instanceof ErrorEvent) {
      console.log(error.error.message)

    } else {
      console.log(error.status)
    }
    return throwError(
      console.log('Something is wrong!'));
  }; …
Run Code Online (Sandbox Code Playgroud)

javascript typescript angular

7
推荐指数
2
解决办法
9620
查看次数

Jest 测试通过,但 .. 有控制台消息 您正在尝试访问 Jest 环境被拆除后的属性或方法

我的测试通过了,但有一个控制台引用错误:

您正在尝试访问 Jest 环境被拆除后的属性或方法。

测试:

import {render, screen, cleanup, fireEvent, waitFor } from '@testing-library/react';
import {create, act} from 'react-test-renderer';
import Comp1 from './Comp1';
import ReactDOM from 'react-dom';
import "@testing-library/jest-dom";
import { QueryClient, QueryClientProvider } from 'react-query';

const queryClient = new QueryClient();

it('Should wait for response', () => {
    act(() => {
        waitFor(() => {
        render(<QueryClientProvider client={queryClient}><Comp1 /></QueryClientProvider>);
        expect(screen.getByTestId('loading', {}, { timeout: 2000 })).toBeInTheDocument();
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?这会检查 async/await api 调用的响应。

javascript reactjs jestjs react-test-renderer react-testing-library

7
推荐指数
2
解决办法
5773
查看次数

React-Query 在上下文中使用查询并设置上下文状态并传递给组件

我的反应应用程序中有上下文,我想在上下文中调用查询并将状态值设置为 api 数据中的对象。我尝试了以下操作,但收到错误,无法读取未定义的属性(4)。所以我知道这可能是因为数据尚未返回,因此我无法将状态设置为数组中的对象,那么如何解决这个问题?另外,我将如何处理上下文传递到的组件中的状态,即加载等。

另一个问题是我应该在上下文中调用 API,还是应该在组件中调用,然后在组件中设置上下文状态?这是更好的方法吗?

到目前为止的代码:

export const DataProvider: React.FunctionComponent = ({ children }) => {
 const getApi = async (): Promise<any> => {
    const response = await axios.get(`https://www.xxxxxx`).then(res => res.data);
    return response;
  }

  const { data: result, status, error, isFetching }: any = useQuery(['apiData'], () => getApi());

  const [myValue, setmyValue] = React.useState(result[4]); // this is causing the issue

  return (
    <DataContext.Provider value={{myValue, setmyValue, result}}>
      {children}
    </DataContext.Provider>
  );
};
Run Code Online (Sandbox Code Playgroud)

reactjs react-query

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

React / Jest 设置测试以定义 Windows 对象

我的测试中出现错误,将窗口环境变量标记为未定义。我理解该错误,因为它是基于使用变量的应用程序的运行时,并且可能它们在运行应用程序时未定义。但我不知道 setupTests.tsx 中的哪个位置需要定义它。到目前为止,该变量的使用方式如下:

\n

索引.html

\n
<!DOCTYPE html>\n<html lang="en">\n  <head>\n    <meta charset="utf-8" />\n    <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />\n    <meta name="viewport" content="width=device-width, initial-scale=1" />\n    <script src="%PUBLIC_URL%/config.js"></script>\n  </head>\n  <body>\n    <noscript>You need to enable JavaScript to run this app.</noscript>\n    <div id="root"></div>\n  </body>\n</html>\n
Run Code Online (Sandbox Code Playgroud)\n

配置文件

\n
window._env_ = {\n  REACT_APP_URL: "https://apiurl.com"\n}\n
Run Code Online (Sandbox Code Playgroud)\n

如何在应用程序中使用它:

\n
declare const window: Window &\n    typeof globalThis & {\n        _env_: any\n    }\n\nconst url = window._env_.REACT_APP_URL;\nexport const apiUrl = url;\n
Run Code Online (Sandbox Code Playgroud)\n

setupTests.tsx我确实尝试将其添加到此处,但它仍然无法正常工作

\n
import '@testing-library/jest-dom';\nimport { setLogger } from 'react-query'\nimport { …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs jestjs

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

如何获取和删除querySelectorAll的parentNode

我正在尝试定位父节点,它是我的代码中链接标签 (a) 的一个 div,我已经尝试过,target.parentNode但这不起作用,也许是因为我正在使用 querySelectorAll?。到目前为止我的代码是:

  function remove() {
    var target = document.querySelectorAll('a[data-type="data"]'), i;
     for (i = 0; i < target.length; i++) {
       if (target.length > 1) {
        target[i].remove();
       }
     }
  }
  remove();
Run Code Online (Sandbox Code Playgroud)

网址:

<div class="carousel-slide">
   <a data-type="data" data-type="image">
   <img class="img-responsive" src="./285-603.jpg">
   </a>
</div>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

javascript

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

限制ng-bind-html Angular JS中字符的简单方法

我试图限制我在我的angular js应用中看到的字符。目前我正在使用:

<p ng-bind-html="item.get('Content') | limitTo: 150"></p>  
Run Code Online (Sandbox Code Playgroud)

但是没有喜悦,没有任何想法...

angularjs

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

React 查询 - 取消待处理或先前的请求

我试图取消任何以前/待处理的请求,如果它们花费的时间太长并且用户导航到另一个组件,当前查询采用状态值,并且当它更改组件重新渲染时,这很好并且是所需的行为。然而,在网络选项卡中查看请求仍处于待处理状态。有没有办法在反应查询中取消任何以前的请求。我尝试根据文档取消查询,但它不正确,因为它没有取消。

  const [value, setValue] = React.useState<boolean>(false);

  const getData = async (value: number): Promise<any> => {
    const CancelToken = axios.CancelToken
    const source = CancelToken.source()
    const response = await axios.get(`https://xxxxxx?value=${value}`, {
        cancelToken: source.token,
    }).then(res => res.data);
    if (CancelToken) {
        response.cancel = () => {
            source.cancel('Query was cancelled by React Query')
        }
    }
    return response;
}

const { data: result, status, error, isFetching }: any = useQuery(['getData', value], () => getData(value),
    {
        refetchOnWindowFocus: false,
    }
);
Run Code Online (Sandbox Code Playgroud)

javascript reactjs axios react-query

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