标签: components

切换组件以响应按钮单击

我有4个组件。我只想一次渲染一个。我的导航中有按钮,当我单击一个按钮时,它应该呈现该组件,然后隐藏其他 3 个(即将它们设置为 null)

这很容易使用 2 个组件。我只有一个像这样的切换功能:

toggle() {
  this.setState(prevState => ({
    showTable: !prevState.showTable
  }));
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试在我有这个的地方调整这个:

showComponent(component) {
  this.setState(prevState => ({
    [component]: !prevState.component
  }));
}
Run Code Online (Sandbox Code Playgroud)

当我单击相应的按钮时,这当前显示了组件。但是,一旦再次单击相同的按钮,它就不会隐藏组件。

我的所有按钮都像这样调用这个方法:

<button onClick={() => this.showComponent('AddPlayer')}>Add</button>
<button onClick={() => this.showComponent('ShowPlayers')}>Players</button>
<button onClick={() => this.showComponent()}>Table</button>
<button onClick={() => this.showComponent()}>Matches</button>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

编辑:

{this.state.AddPlayer ?
              <div className="add-container">
                <AddPlayer />
              </div>
              :
              null
            }
            {this.state.ShowPlayers ?
              <div className="players-container">
                <Players />
              </div>
              :
              null
            }
Run Code Online (Sandbox Code Playgroud)

javascript components toggle reactjs

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

我如何计算一个组件被调用的次数 Angular 4

我想知道是否有一种方法可以计算组件被调用的次数,但是是从组件内部而不是从父组件调用的。

在这种情况下,我需要确切地知道同一个组件以后要做一些事情多少次,这可能吗?

javascript components typescript angular

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

反应本机默认宽度

这可能是一个愚蠢的问题,但我不明白组件宽度是如何工作的。

当我做 :

    render() {
        return (
          <View style={{ height: 100, backgroundColor: 'yellow' }}></View>
        )
    }
Run Code Online (Sandbox Code Playgroud)

我的黄色视图是可见的,需要 100 "height" 和full width。为什么 ?我从来没有设置宽度,为什么宽度不等于 0 ?

components width react-native

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

React:将列组件渲染为表中的行组件

我正在 React 中创建一个 Table 组件。我正在查看一些 Table 组件,它们创建了一个列数组以传递给 Table。在这个列数组中,您可以放置​​一个函数来在 tbody 的每一行内渲染一个组件。

Ant Design 的第一个例子(https://ant.design/components/table/):

const columns = [{
  title: 'Name',
  dataIndex: 'name',
  key: 'name'
}, {
  title: 'Action',
  key: 'action',
  render: (text, record) => ( <<-- THIS FUNCTION. IT RECEIVES THE ROW RECORD AS A PARAM TOO
    <span>
      This gonna be rendered in each row of the table
    </span>
  ),
}];  
Run Code Online (Sandbox Code Playgroud)

我试图找出一种创建这种机制的好方法,以在表格主体的每一行中呈现一列。

有学习的好榜样吗?我正在尝试阅读 NPM 中某些组件中的源代码......但很难理解。

感谢开发者!

javascript components reactjs antd

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

Vuejs:动态递归组件

我正在尝试制作一个调用自身的自定义组件。我不断收到错误消息

Unknown custom element: <TestRec> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

我已经包含了一个名称选项,如下所示,但这并不能解决问题。

知道它可能是什么吗?

<template>
  <div>
        <h4>I am a component that can call itself below</h4>

        <v-select :items="['TestRec', 'normal']" v-model="comp"></v-select>

        <hr />
        <component :is="comp"></component>
  </div>
</template>

<script>
import TestRec from "./TestRec";
export default {
    name: 'New-Test-Rec', //Name tried 'Test-Rec' too. Same result
    components: {
        TestRec
    },
    data(){
        return {
            comp: null
        }
    }
}
</script>
Run Code Online (Sandbox Code Playgroud)

javascript recursion components vue.js vuejs2

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

Ionic - 从另一个页面或组件更新组件的变量

我正在尝试在 Ionic3 中创建一个自定义菜单,当用户单击那个汉堡包图标时,它需要向元素添加#menu一个open类,我正在尝试使用ngClass

问题是这个图标在我的菜单组件之外,这个图标在我的页面中 home-user

在此处输入图片说明

打开后,我的菜单看起来像下一张图片,所以我不能使用 ionic 的默认菜单

在此处输入图片说明

所以我的组件menu有一个名为 的变量opened,这个变量决定了我的菜单元素的类

菜单.ts

@Component({
    selector: 'menu',
    templateUrl: 'menu.html',
})

export class MenuComponent {

    opened: boolean = true;

    constructor() {
    }

    toggleMenu() {
        this.opened = !this.opened;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以当我触发时toggleMenu()我改变了opened价值

我在我的组件页面中触发此功能并正常工作

菜单.html

<div id="menu" [ngClass]="opened ? 'open' : ''">
    <a class="menu-item" href="#">Sair</a>
    <ion-icon (click)="toggleMenu()" id="toggleMenu" name="close"></ion-icon>
</div>
Run Code Online (Sandbox Code Playgroud)

那么,我的问题是什么?

toggleMenu()例如,我如何从我的home-user.html页面调用它,该页面也有一个按钮,并且该按钮应该更改opened变量的值


我试过什么

我试图在我的menu.module.ts中创建一个函数来触发该toggleMenu()函数menu.ts …

components ionic3

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

React SVG 组件:6:134 错误解析错误:意外标记,预期为“}”

import React, { Component } from "react";
export default class Logo extends Component {
    render() {
        return (
        <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 615 615"><defs><style>.cls-1{stroke:#fff;stroke-miterlimit:10;stroke-width:4px;}.cls-2{fill:#f2f2f2;}</style></defs><title>vision-octo-bw</title><g id="octo-drop"><polygon class="cls-1" points="450.68 546.99 185.11 547 52.32 317.01 185.09 87.01 450.67 87 583.47 316.99 450.68 546.99"/><path class="cls-2" d="M318.87,154c-61.78,91.83-64.25,97.12-77,115-24.86,35-68,112.88-6.57,174.31s136.77,33.83,162.92,3.83c28.13-32.27,60-82.76-2.16-176.17C331.37,173.6,325.2,164.31,318.87,154Z"/></g></svg> 
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

svg components reactjs

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

Javascript - 通过 array.map() 返回两个输出

我在反应组件中有以下回报:

render() {
     return(
            <div>
                <div className = "category-name">
                    {categories.map(category =>
                        <p>{category.name}</p>
                    )}
                </div>
                <div className = "category-name">
                    {categories.map(category =>
                        <Playlist categoryid={category.id}/>
                    )}
                </div>
            </div>
        );
}
Run Code Online (Sandbox Code Playgroud)

这是显示类别名称,然后通过名称数组从播放列表组件获取描述。有人能告诉我如何返回每个名称下的播放列表吗?我尝试了以下操作,但它不起作用:

render() {
  return(
            <div>
                <div className = "category-name">
                    {categories.map(category =>{
                        return (<p>{category.name}</p>,
                            <Playlist categoryid={category.id}/>)
                        }     
                    )}
                </div>
            </div>
        );
}
Run Code Online (Sandbox Code Playgroud)

components return reactjs

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

Delphi 组件属性声明

最近,我在组件中遇到了以下属性声明TDBNavigator

property Enabled;
[Default(False)]     <--------------------
property Flat: Boolean read FFlat write SetFlat default False;
Run Code Online (Sandbox Code Playgroud)

该指令[Default(False)]是什么意思?它的主要目的是什么?

delphi components properties declaration

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

已发布的属性默认值在设计时重置

我正在开发一些组件 - 自定义按钮。我安装了它,但在设计时自定义发布的属性重置为零。首先,我在谈论颜色 - 它重置为clBlack(或clBtnFace用于Color财产)。Caption重置为空字符串。我的意思是当我在设计时放置组件以形成表单时,对象检查器中的所有自定义属性都重置为零(颜色clBlack等)。我可以手动更改它,但为什么我在代码中设置的默认值不起作用?问题仅在设计时。当我在运行时创建组件时,它工作正常。这是代码(以Color属性为例)。

基类

TpfCustomButton = class(TCustomControl)
...
published
...
  property Color;
...
end;
Run Code Online (Sandbox Code Playgroud)

主要代码

TpfCustomColoredButton = class(TpfCustomButton)
...
public
  constructor Create(AOwner: TComponent);
...
end;

constructor TpfCustomColoredButton.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);

  Color := $00E1E1E1;//Look at this: setting Color
  ...
end;
Run Code Online (Sandbox Code Playgroud)

组件代码

TpfColoredButton = class(TpfCustomColoredButton)
published
  ...
  property Action;
  property Align;
  //And some other standard properties
end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('PF Components', [TpfColoredButton]);
end; …
Run Code Online (Sandbox Code Playgroud)

delphi components design-time properties

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