需求:
有如下蓝色的UI界面,操作区是用于承载不同类型操作的功能。
在上面的操作按钮,那么操作区域就显示不同的操作界面。
1、请问这样的功能应该如何设计呢?
是否是通常的做法先把3个操作的对应的UI组件设计好,然后点击按钮的时候,进行加载对应的组件?
2、还是说有其他的更好的方式做到呢?
这种情况你其实可以对标常见框架的Tab
组件的设计;
至于是否是点击时加载对应的组件,个人认为还是取决于业务;
1.在绝大多数情况下,为了代码的结构清晰,便于维护,逻辑分离等,设计时各组件分离,组件内各自处理逻辑,用户主动触发点击才去渲染组件,当然这个过程中需要考虑切换时的数据加载过程,比如要加loading
等;这种方式弊端可能在于需要父子组件的数据传递,父组件获取子组件的数据状态
等场景就麻烦了点;
2.另外一种方式:把组件1
、组件2
等都写在一起,状态
可以共用了,但降低了代码的可维护性,而且一堆逻辑,会越补越多;
3.基于第一种的方式,如果组件1
、组件2
的UI相似,比如都是表格,那完全可以做一个表格的公共组件,用不同的数据配置来渲染,也就是点击按钮的时候,切换不同的表格配置,从而渲染;比如下面的表头的配置():
const columns = activeKey === "1" ? column1 : column2;
export const columns1 = [
{key: 'serial',title: '序号',dataIndex: 'serial',align: 'center'},
{ key: 'name', dataIndex: 'name', title: '姓名', align: 'center' }
]
export const columns2 = [
{key: 'serial',title: '序号',dataIndex: 'serial',align: 'center'},
{ key: 'sex', dataIndex: 'sex', title: '性别', align: 'center' }
]
<Table columns={columns} />
我有一个粒子模拟项目,我已经工作了很多个小时,我将发布两个类。一个是粒子类,一个是main和Canvas类。我创建一个画布,然后得到它的BufferStrategy和一个Graphics在上面绘制。我使用更新循环来更新每一帧的粒子,并使用渲染循环来渲染每一帧的粒子。更新和渲染都是通过调用粒子数组列表中每个粒子的自渲染和自更新方法来完成的。现在这是我的问题。我有一个MouseListener,它在中
问题内容: 我的.routing.ts文件中有这个 我的文件检查id参数并相应地加载数据。在路由器的早期版本中,如果我从/ page / 4转到/ page / 25,则该页面将“重新加载”并且组件将更新。 现在,当我尝试导航到/ page / X时,其中X是id,它只会第一次加载,然后url会更改,但是组件不会再次“重新加载”。 是否需要传递某些内容以强制重新加载组件并调用ngOnInit事件?
问题内容: 我经常看到人们在没有显式扩展任何内容的类中显式调用。 现在我知道这是完全合法的,并且如果省略了该调用,则编译器会添加该调用,但是我仍然认为它是不好的做法。每当我看到这一点时,我都会怀疑程序员是否对继承有某种误解,以及所有类都隐式扩展的事实。 我应该将其添加到我们的编码标准/最佳实践中吗?当我看到其他开发人员这样做时,是否应该组建其他开发人员?它是我的个人小虫,但我不知道我是否只是在挑剔
问题内容: 我正在开发一个网页,在那里我为类似国际象棋的游戏布置一块面板,以及几个棋盘托盘。所有操作都使用HTML(使用jQuery在游戏进行时进行动态更新)完成。在某个地方,我想到在页面中使用元素的绝对定位被认为是不好的做法,并且最好使用相对定位。 经过相对定位的困扰了很长时间之后,我意识到板元件的绝对定位要容易得多,而且要正确得多。 有谁知道相对定位优于绝对定位的原因吗?在决定采用哪种方法时,
我们使用props来定下我们显示的顺序. 我们的组件基于我们排好序的props进行渲染. class PageSections extends Component { render() { const pageItems = this.props.contentOrder.map( (content) => { const renderFunc = this
问题内容: 我已阅读以下讨论: 如果私有帮助器方法可以是静态的,则它们应该是静态的;如果它们的类没有成员变量,则所有方法应该是静态的。 似乎人们通常会接受静态方法,但由于以下两个原因,对此有些怀疑: 他们很难测试。 他们违反了OO原则。(一个人说,它们是函数,而不是方法。) 最可接受的静态方法是 私有静态 方法。但是,为什么为什么根本不存在静态方法呢?在什么情况下,它们是最优先采用的方法? 问题答
在我的应用程序中,有一个计算得到两个日期之间的天数。计算如下所示; 此方法在我的本地pc(windows 7,64位)上返回正确的值(即2015-03-10 00:00:00.0、2015-03-02 00:00:00.0,从存储库中检索的值为8,并传递给该方法)。但是,此方法在位于加拿大的pc(Windows 7,64位)上返回不正确的值(即2015-03-10 00:00:00.0、2015-
问题内容: 我正在使用Hibernate + JPA作为我的ORM解决方案。 我正在使用HSQL进行单元测试,并使用PostgreSQL作为真正的数据库。 我希望能够将Postgres的本机UUID类型与Hibernate一起使用,并在其String表示形式中将UUID与HSQL一起用于单元测试(因为HSQL没有UUID类型)。 我正在为Postgres和HSQL单元测试使用具有不同配置的持久性X