小编Xav*_*ram的帖子

Material UI Autocomplete 上的 Typescript Equality 问题

数据存储为:

 { iso: "gb", label: "United Kingdom", country: "United Kingdom" },
 { iso: "fr", label: "France", country: "France" }
Run Code Online (Sandbox Code Playgroud)

传递给自动完成的值是:

{ iso: "gb", label: "United Kingdom", country: "United Kingdom" }
Run Code Online (Sandbox Code Playgroud)

控制台报错

Material-UI:提供给自动完成的值无效。没有一个选项与{"label":"United Kingdom","iso":"gb","country":"United Kingdom"}.

报告的类型错误 value={}

输入'字符串| ICountry' 不可分配给类型 'ICountry | ICountry[] | 空| 不明确的'。类型 'string' 不能分配给类型 'ICountry | ICountry[] | 空| 不明确的'。

问题:将数据传递给组件并未将其设置为相应的选项,我对如何解决此问题一无所知。

问题代码沙盒:https ://codesandbox.io/s/charming-firefly-zl3qd?file =/ src/App.tsx

import * as React from "react";
import { Box, Typography, TextField, Button } from "@material-ui/core";
import { Autocomplete } …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs material-ui formik

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

是的嵌套模式验证

我正在尝试根据用户选择的 Select Option 有条件地验证对象,问题是我正在呈现货币列表并且在尝试使其成为必填字段时遇到了巨大的困难,因为我必须传入一个空的对象开始。

我的代码堆栈是 React、Formik 和 Yup(所有最新版本)。

对象架构

category: 'A',
details: {
   name: '',
   price: 0,
   stock: 0,
   currency: {
      label: '',
      code: '',
      symbol: '',
      alpha_2: '',
    }
}
Run Code Online (Sandbox Code Playgroud)

是的模式

category: Yup.string().required('You must pick a category'),
details: Yup.object().when('category', {
  is: 'A',
  then: Yup.object({
       label: Yup.string().required(`Select the currency you're retailing in`),
        code: Yup.string().required(`Select the currency you're retailing in`),
        symbol: Yup.string().required(`Select the currency you're retailing in`),
        alpha_2: Yup.string().required(`Select the currency you're retailing in`),
    }),
})
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,表单正在通过验证,并且货币对象有一个空值列表'',这是不希望的结果。

您如何进行架构触发器验证?

javascript yup formik

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

Rails image_tag width属性使用百分比/自动值?

image_tag('batman.png' size:'100%xauto')

大小100%x Auto被忽略,因为它不遵循Rails API中概述的约定.

有没有办法在rails中执行此操作而无需全局/特定的css类?

ruby-on-rails

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

Web3.js 扩展窗口界面类型定义

Web3.js web3进入window对象。

浏览器钱包就像MetaMask注入ethereumwindow对象中。

现在在打字稿中以减轻编译错误,我正在按如下方式进行转换 (window as any).ethereum

在查看Web3存储库和钱包存储库(例如 MetaMask)后,该Window对象没有可导入/可复制的打字稿定义/接口。

一个可能的解决方案是编写我自己的接口并扩展 Window,查看 Window 对象并尝试推断类型 - 不理想

其他使用过 web3.js 和 typescript 的开发者,你们是如何克服 VSCode 中的 Window 类型界面问题和智能感知建议的?

typescript ethereum web3-donotuse

3
推荐指数
2
解决办法
1163
查看次数