小编Chr*_*haw的帖子

如何删除github中的所有提交历史记录?

我想删除所有提交历史记录,但保持代码处于当前状态,因为在我的提交历史记录中,有太多未使用的提交.

我该怎么做?

有没有git命令可以做到这一点?

git filter-branch ?
git rebase ?
... 
Run Code Online (Sandbox Code Playgroud)

我的代码托管在github.com上.

git github

255
推荐指数
2
解决办法
17万
查看次数

使用本机 Web 组件时,Typescript 错误“类型 'JSX.IntrinsicElements' 上不存在属性”

我正在处理一个使用 React 和 Typescript 的项目,但我想开始在我的项目中使用原生 Web 组件来逐步淘汰我的一些 React 组件。

当我尝试在我的person-info某些 JSX 中包含使用组件时出现此错误。

Property does not exist on type 'JSX.IntrinsicElements'
Run Code Online (Sandbox Code Playgroud)

我查看了其他一些有这些问题的问题,但它们似乎都与本机 Web 组件没有任何关系。

当我在我的项目中使用我的 web 组件时,如何让 Typescript 和 React 很好地发挥作用?

人物信息.mjs

const css = `
  <style>
    :host([hidden]) { display: none; }
    :host {
      align-items: center;
      display: grid;
      font-weight: normal;
      grid-gap: var(--spacing-size-a) var(--spacing-size-a);
      grid-template-areas:
        'picture heading'
        'picture sub-heading';
      grid-template-columns: auto 1fr;
      justify-items: start;
    }
    div {
      grid-area: picture;
    }
    h1, h2 {
      margin: 0;
      padding: 0;
    }
    h1 {
      align-self: …
Run Code Online (Sandbox Code Playgroud)

javascript web-component typescript reactjs native-web-component

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

是否可以保留自定义元素的内部 html?

使用自定义元素,我想对自定义元素内的元素进行样式设置,但是当我定义该元素时,除了影子 dom 之外的所有内容都会消失。

如何将内容从元素移动到 Shadow dom?我已经<div class="wrapper">在阴影内有一个包装元素 ( ),但尝试使用

wrapper.innerHTML = this.innerHTML;
Run Code Online (Sandbox Code Playgroud)

不起作用。

超文本标记语言

<site-card>
  <section title>
    ...
  </section>
  <section body>
    ...
  </section>
  <section actions>
    <button class="modern small">Action</button>
    <button class="modern small">Action 2</button>
  </section>
</site-card>
Run Code Online (Sandbox Code Playgroud)

JS

"use strict";
class cardElement extends HTMLElement {
    constructor() {
        super();
        var shadow = this.attachShadow({mode: 'open'});
        var wrapper = document.createElement('div');
        wrapper.setAttribute('class','wrapper');
        wrapper.innerHTML = this.innerHTML;
        var style = document.createElement('style');
        style.textContent = ... /* CSS removed to shorten. */
        shadow.appendChild(style);
        shadow.appendChild(wrapper);
    };
};
customElements.define('site-card', cardElement);
Run Code Online (Sandbox Code Playgroud)

html javascript web-component native-web-component

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

Web 组件中的槽选择器限制

slot制作一个可重用的 Web 组件固然很好,但到目前为止它还是有限制的。我面临的是风格问题。即使您知道注入内容的结构是什么,您也无法在组件内定义样式。

详细信息可以从我在 github 上的帖子中找到

我编写了一个组件,并尝试slot从外部注入内容,并尝试将样式添加到组件影子根中的特定内容。 演示

HTML 文件

  <my-navbar>
    <ul>
      <li>link1</li>
      <li>link2</li>
      <li>link3</li>
      </ul>
  </my-navbar>
Run Code Online (Sandbox Code Playgroud)

JS文件

customElements.define('my-navbar', class extends HTMLElement {
  constructor () {
    super();
    const sr = this.attachShadow({ mode: 'open' });
    sr.innerHTML = `
      <style>
      /*worked*/
      ::slotted(ul)
      {
        color:green;
      }
      /*
      Suppose I know the outside content is "ul li", and I directly define the 
      style after they injected into component's slot. However, it just doesn't 
      work because the slotted selector is just …
Run Code Online (Sandbox Code Playgroud)

web-component shadow-dom native-web-component

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

使用NativeBase Toast组件时无法在React Native中读取null的'_root'属性

我正在使用NativeBase的Toast组件在成功提交表单后显示一条消息,但是每次运行它时,都会在控制台中收到此错误消息。

_onSubmit error TypeError: Cannot read property '_root' of null
    at Function.show (ToastContainer.js:79)
    at InventoryItemAdd.js:40
    at tryCallOne (core.js:37)
    at core.js:123
    at JSTimers.js:98
    at Object.callTimer (JSTimersExecution.js:95)
    at Object.callImmediatesPass (JSTimersExecution.js:199)
    at Object.callImmediates (JSTimersExecution.js:214)
    at MessageQueue.js:222
    at guard (MessageQueue.js:46)
Run Code Online (Sandbox Code Playgroud)

这是我的渲染函数中的JSX:

<Container>
    <Navbar title="Add an Inventory Item" backArrow />
    <Content keyboardShouldPersistTaps="handled">
        <InventoryItemAddForm
            onSubmit={this._onSubmit}
            data={formData}
            enableReinitialize={true}
            initialValues={initialValues}
        />
    </Content>
    <FooterTabs />
</Container>
Run Code Online (Sandbox Code Playgroud)

而我的_onSubmit功能:

_onSubmit = ({name, inventoryTypeId, internalCode, description = "", measurementUnitId}) => {
    const {inventoryItemCreate, showErrors} = this.props

    return inventoryItemCreate({
        input: { …
Run Code Online (Sandbox Code Playgroud)

javascript react-native native-base react-native-ios

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

以本机上传视频

有没有办法在React Native中将视频上传到服务器?

我已经研究了github上的react-native-uploader插件,但是即使使用该插件也无法提供有关视频上传的任何指导。

javascript video react-native

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

如何更改 Set 中项目的值?

我有一个我想用 JavaScript 更新的Set,但我想不出任何可以让我更新其中值的东西。

const mySet = new Set([]);
mySet.add('hello');
mySet.add('hewwo');
mySet.add('henlo');
Run Code Online (Sandbox Code Playgroud)

我试过像这样的语法

mySet['hello'] = 'hello world',

mySet.hello = 'hello world', 和

mySet[0] = 'hello world'.

我也试过像这样修改值:

mySet.forEach(item => {
  if (item === 'hello') {
    item = 'hello world';
  }
})
Run Code Online (Sandbox Code Playgroud)

到目前为止,没有什么对我有用。我想在普通数组上使用集合,因为它会自动防止重复项,但我应该自己添加逻辑吗?JavaScript如果我不能修改集合中的值,是否有很好的用例?

javascript set

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