标签: components

如何在 React 中从另一个组件滚动到一个组件?

我有一个表单,在提交时显示表单的结果,但更重要的是,滚动到显示结果的组件。我在尝试传递裁判和前锋裁判时陷入困境。我见过的所有演示都是同一文件中的组件。我的设置如下:

\n

App.js包含两个组件\xe2\x80\x93 Form.js,用于提交表单并Results.js显示表单提交的结果。该Results.js组件位于页面的下方,因此我想在用户单击表单上的 Enter 后滚动到该组件。

\n

这是一个代码沙箱,演示了我的设置。

\n

这里是相同的代码:

\n
// App.js\nimport "./styles.css";\nimport Form from "./Form";\nimport Results from "./Results";\n\nexport default function App() {\n  return (\n    <>\n      <Form />\n      <Results />\n    </>\n  );\n}\n
Run Code Online (Sandbox Code Playgroud)\n
// Form.js\nimport { forwardRef, useState } from "react";\n\nconst Form = forwardRef(({ onScroll }, ref) => {\n  const [name, setName] = useState("");\n\n  const onSubmit = (e) => {\n    e.preventDefault();\n    onScroll();\n  };\n\n  return (\n    <form onSubmit={onSubmit} className="tall">\n      <input value={name} …
Run Code Online (Sandbox Code Playgroud)

javascript scroll components reactjs

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

用于.NET的Dock Panel组件,允许在选项卡页面内对接?

我想构建一个用户界面,由于历史原因,它有很多"列"信息.其中许多在所有情况下都与所有用户无关,所以我想我会看到停靠面板,以允许用户根据他们的工作场景隐藏或重新排列列.

这是.NET 3.5中的Winforms.

因此,我想要以下内容:

  • 在主窗体中有标签页
  • 每个标签页都可以有停靠在其中的停靠面板
  • 坞站面板应该可以从一个标签页移动到另一个标签页

示例样机http://images.vkarlsen.no/so/2902953/dock-test.png

到目前为止,我已经尝试了以下组件包,没有运气:

Telerik的

允许我停靠在标签页内,但停靠面板无法从一个标签页移动到另一个标签页.当尝试将浮动面板拖放到与其来源不同的选项卡页面上时,它会显示停靠栏将成功,但是当它被丢弃时,它将停靠在其所有者容器上.

Divelements SandDoc

与Telerik相同的问题.

DevExpress XtraBars

与Telerik相同的问题.

http://sourceforge.net/projects/dockpanelsuite/

同样的问题,停靠站内容窗口只能属于一个停靠面板,这意味着它无法从一个选项卡迁移到另一个选项卡.


基本上,有没有人知道任何这样的组件(包)可以让我做我想要的?


编辑:好的,我试过让Sourceforge控件在上面工作,但我看不出如何使这个工作.

基本上,这就是我需要做的事情:

  1. 我需要有多个标签页(我不需要取消它们,它们可以是静态的)
  2. 我需要能够将内容停靠到标签页
  3. 我需要能够将内容从一个标签页移动到另一个标签页

如果我理解下面的答案提到这个控件,我应该使用DockPanel而不是TabControl,而DockPane而不是TabPage,但据我所知,这只能让我能够停靠和取消选项卡页面,而这不是我想要的是.

无论如何,这是一个程序文件,只需创建一个Winforms项目,从sourceforge项目添加对.dll的引用,并在Program.cs中粘贴此代码:

using System;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;

namespace DockTest
{
    public class DockWindow1 : DockContent
    {
        public DockWindow1()
        {
            TabText = "Dock-window #1";

            DockPanel panel = new DockPanel();
            panel.Dock = DockStyle.Fill;
            Controls.Add(panel);

            // tried this related to the exceptions
            // this.DockPanel = panel;
        }
    }

    public class DockWindow2 : DockContent
    {
        public DockWindow2() …
Run Code Online (Sandbox Code Playgroud)

.net components tabpage tabpanel dockpanel

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

从Joomla 2.5到Joomla 3.0的组件

自从昨晚Joomla 3.0 Alpha发布以来,我想尝试将我编写的Joomla 2.5组件转换为新的Joomla 3.0.我一直在关注所有的开发计划,他们说JController,JView和JModel将被改为在每一个之后都有"Legacy",这将是你必须改变的全部内容.

我遇到了另一个问题,收到如下错误信息:

" 严格标准:MYCOMPONENTController :: display()的声明应该与JControllerLegacy :: display()的声明兼容 "

我看过更多的文档和帖子,没有人遇到过这个问题或谈论它,所以只是想把它拿出来,看看我需要做些什么来解决这个问题.谢谢大家!

joomla components joomla-extensions joomla2.5 joomla3.0

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

Android:以编程方式从设备管理员中删除我的应用?

我正在尝试向我的应用添加一个按钮,将其从设备管理员中删除,并使用下面的代码,但我的应用程序崩溃了.

码:-

按钮点击: -

{
    ComponentName devAdminReceiver = new ComponentName(this, DemoDeviceAdminReceiver.class);
    DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
    dpm.removeActiveAdmin(devAdminReceiver);
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,DemoDeviceAdminReceiver是一个扩展DeviceAdminReceiver的类.

错误日志: -

10-28 15:26:09.295: E/AndroidRuntime(26101): FATAL EXCEPTION: main
10-28 15:26:09.295: E/AndroidRuntime(26101): java.lang.IllegalArgumentException: Unknown admin: ComponentInfo{com.dragonnis.intellicover/com.dragonnis.intellicover.DemoDeviceAdminReceiver}
10-28 15:26:09.295: E/AndroidRuntime(26101):    at android.os.Parcel.readException(Parcel.java:1331)
10-28 15:26:09.295: E/AndroidRuntime(26101):    at android.os.Parcel.readException(Parcel.java:1281)
10-28 15:26:09.295: E/AndroidRuntime(26101):    at android.app.admin.IDevicePolicyManager$Stub$Proxy.removeActiveAdmin(IDevicePolicyManager.java:2940)
10-28 15:26:09.295: E/AndroidRuntime(26101):    at android.app.admin.DevicePolicyManager.removeActiveAdmin(DevicePolicyManager.java:183)
Run Code Online (Sandbox Code Playgroud)

android components device-admin

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

Ember:嵌套组件事件冒泡

我创建了一组嵌套组件.

代码在这里:http://emberjs.jsbin.com/hasehija/2/edit.

HTML:

{{#level-1}}
    {{#level-2}}
      {{#level-3}}
        <button {{action 'handleAction'}}>
          Click me (yielded)
        </button>
      {{/level-3}}
    {{/level-2}}
 {{/level-1}}
Run Code Online (Sandbox Code Playgroud)

JS:

App.ApplicationController = Ember.Controller.extend({
  actions: {
    handleAction: function() {
      alert('Handled in ApplicationController');
    }
  }
});

App.Level1Component = Ember.Component.extend({
  actions: {
    handleAction: function() {
      alert('Handled in Level 1');
    }
  }
});

App.Level2Component = Ember.Component.extend({
  actions: {
    handleAction: function() {
      alert('Handled in Level 2');
    }
  }
});

App.Level3Component = Ember.Component.extend({
  actions: {
    handleAction: function() {
      alert('Handled in Level 3');
      this.set('action', 'handleAction');
      this.sendAction(); …
Run Code Online (Sandbox Code Playgroud)

javascript events components event-bubbling ember.js

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

Angular 1.5 Component:传递一个函数

是否可以将函数传递给组件并在传递参数的组件内调用此函数?

例:

帖子列表

<post-list posts="blog.posts"
           loading="blog.loadingPosts"
           get-post-url="blog.getPostUrl" 
           is-user-authenticate="blog.user">
</post-list>
Run Code Online (Sandbox Code Playgroud)

getPostUrl是一个函数(在容器控制器内):

const getPostUrl = (postId) => {
    const protocol = $location.protocol();
    const host = $location.host();
    const port = $location.port();

    return protocol + "://" + host + "" + (port !== 80 ? ":" + port : "") + "/blog/post/" + postId;
};
Run Code Online (Sandbox Code Playgroud)

帖子列表:组件

const PostList = {
  "bindings": {
    "posts": "<",
    "loading": "<",
    "getPostUrl": "&", //Function getPostUrl
    "isUserAuthenticate": "<"
  },
  "template": `<div>
                <div class="col-md-9 text-center" data-ng-if="$ctrl.loading">
                  <i class="fa …
Run Code Online (Sandbox Code Playgroud)

javascript components angularjs

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

Angular2如何清理AppModule

我一直在线使用这些教程并创建了一个'ok'SPA数据输入应用程序.

我把它连接到我的WEB API很好,但只构建了一个模型,我的AppModule已经安静了几行.

我正在考虑使用当前的方法,我认为一旦我完成它,AppModule将是一个疯狂的大小,难以阅读,甚至可能更难调试.

我是否可能错过了如何构建Angular2更大应用程序的观点?

我正在努力寻找一个大于1个组件的在线教程/项目供参考.

下面是我的app.module.ts文件夹结构.

我分开我CashMovement,ListComponent并且DataService我会认为这是很好的做法,但再添10个不同的数据服务,并列出与app.module将是漫长的.

在我继续进行任何进一步的工作之前,任何人都应该阅读一些他们可以指向我的建议,或者我理解的建议对个人意见是主观的.

app.module

import './rxjs-operators';

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpModule }    from '@angular/http';

import { PaginationModule, DatepickerModule, Ng2BootstrapModule, ModalModule, ProgressbarModule, TimepickerModule } from 'ng2-bootstrap/ng2-bootstrap';

import { SlimLoadingBarService, SlimLoadingBarComponent } from 'ng2-slim-loading-bar';


import { AppComponent }   from './app.component';
import { DateFormatPipe } from './shared/pipes/date-format.pipe';
import { HighlightDirective } from './shared/directives/highlight.directive'; …
Run Code Online (Sandbox Code Playgroud)

components structure single-page-application angular

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

React:将道具传递给功能组件

关于道具和功能组件,我有一个看似微不足道的问题.基本上,我有一个容器组件,它在状态改变时呈现Modal组件,这是由用户单击按钮触发的.模态是一个无状态功能组件,它包含一些输入字段,这些输入字段需要连接到容器组件内部的函数.

我的问题:当用户与无状态Modal组件中的表单字段交互时,如何使用父组件内部的函数来更改状态?我错误地传递道具吗?提前致谢.

容器

export default class LookupForm extends Component {
    constructor(props) {
        super(props);

        this.state = {
            showModal: false
        };
    }
    render() {
        let close = () => this.setState({ showModal: false });

        return (
            ... // other JSX syntax
            <CreateProfile fields={this.props} show={this.state.showModal} onHide={close} />
        );
    }

    firstNameChange(e) {
      Actions.firstNameChange(e.target.value);
    }
};
Run Code Online (Sandbox Code Playgroud)

功能(模态)组件

const CreateProfile = ({ fields }) => {
  console.log(fields);
  return (
      ... // other JSX syntax

      <Modal.Body>
        <Panel>
          <div className="entry-form">
            <FormGroup>
              <ControlLabel>First Name</ControlLabel>
              <FormControl type="text"
                onChange={fields.firstNameChange} placeholder="Jane"
                />
            </FormGroup> …
Run Code Online (Sandbox Code Playgroud)

javascript components reactjs

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

Vuejs 2将prop对象传递给子组件并检索

我想知道如何使用props和检索将对象传递给子组件.我理解如何将其作为属性,但如何传递对象并从子组件中检索对象?当我从子组件使用this.props时,我得到未定义或错误消息.

父组件

 <template>
        <div>
        <child-component :v-bind="props"></child-component>     
        </div>
    </template>

<script>
import ChildComponent from "ChildComponent.vue";

export default {
    name: 'ParentComponent',
    mounted() {

    },
     props: {
       firstname: 'UserFirstName',
       lastname: 'UserLastName'
       foo:'bar'
    },
    components: {
    ChildComponent
    },
    methods: {

      }
}
</script>

<style scoped>
</style>
Run Code Online (Sandbox Code Playgroud)

儿童组件

<script>
<template>
   <div>
   </div>
</template>
export default {
    name: 'ChildComponent',
    mounted() {
    console.log(this.props)
  }  
}
</script>
Run Code Online (Sandbox Code Playgroud)

components vuejs2

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

了解Dagger 2 @ Component.Builder注释

我正在阅读这个很棒的教程,解释了@Component.BuilderDagger 2中的工作方式.作者做得很好,文章很简单,但我仍需要澄清一些令人困惑的事情:Dagger 2的默认实现看起来像这样:

组件:

@Singleton
@Component(modules = {AppModule.class})
public interface AppComponent {

  void inject(MainActivity mainActivity);
  SharedPreferences getSharedPrefs();
}
Run Code Online (Sandbox Code Playgroud)

模块:

@Module
 public class AppModule {

    Application application;

    public AppModule(Application application) {
       this.application = application;
    }

    @Provides
    Application providesApplication() {
       return application;
    }
    @Provides
    @Singleton
    public SharedPreferences providePreferences() {
        return application.getSharedPreferences(DATA_STORE,
                              Context.MODE_PRIVATE);
    }
}
Run Code Online (Sandbox Code Playgroud)

组件实例化:

DaggerAppComponent appComponent = DaggerAppComponent.builder()
         .appModule(new AppModule(this)) //this : application 
         .build();
Run Code Online (Sandbox Code Playgroud)

根据文章,我们可以通过避免使用@Component.Builder@BindsInstance注释向模块构造函数传递参数来进一步简化此代码,然后代码将如下所示:

组件:

@Singleton
@Component(modules = {AppModule.class})
public interface AppComponent …
Run Code Online (Sandbox Code Playgroud)

android components dagger-2

11
推荐指数
2
解决办法
4088
查看次数