当前位置:网站首页 > 技术博客 > 正文

vue开发页面样式怎么写



 

其次将该文件注册到 router 对象上。

 

运行,该页面展示 123。
请添加图片描述

然后我们开始绘制页面,这次绘制的页面是物流追踪页面,整个页面分为上下两大块。这里我们开始引入样式。

新建样式文件。

 

在 tsx 中引入并使用样式。

 

请添加图片描述

我们计划将页面的上半部分划分为一个组件,接下来我们注册并引入一个组件。

新建一个组件。

 

在页面中引入并使用该组件。

 

现在页面展示如下:
请添加图片描述

接下来在组件 LogistTrackCard 内绘制静态页面。
组件整体分为两部分,下面的部分分裂为横向排列的 2 块,各占 50%,由 flex 布局而成。
这块没什么难点,直接给出。

 
 

现在页面呈现如下。
请添加图片描述

我们可以美化一下,将组件的白色背景色去掉,添加背景图片。将灰色的箭头图片换为橙色图片。

 

请添加图片描述

我们为刚刚留出的位置元素写上内边距和高度,注册组件并写在位置元素中,超出位置元素的部分滚动展示。
这里我们可以使用vant的公共组件来实现。
vant-Steps步骤条 地址:https://vant-contrib.gitee.io/vant/#/zh-CN/steps

1 为刚刚留出的位置元素写上内边距和高度。

 

2 注册组件,引入组件,在组件内部使用vant-step进度条组件实现。

 
 

请添加图片描述

3 优化step样式

 

请添加图片描述

接下来,我们修改一下LogistTrackStep组件展示内容,并添加一些样式。

 
 

现在,静态页面已经绘制完成了,接下来是添加动态数据。
请添加图片描述

建立变量,里面有我们所需要的数据,然后我们将数据传入对应组件中。传入的方式还是有props,但是tsx的props与vue文件中不同的是,不再用冒号来标志动态属性,而且使用大括号来包裹变量。

 
 

使用变量:

 

在第二个组件LogistTrackStep中,我们照常引入变量。

 

此时我们可以在页面中使用变量了,但是我们发现有两个问题:
1 logistTrackStepList是一个列表,我们需要循环展示,对应在vue组件中就是v-for属性,但是tsx中又有所不同。
2 deliverystatus是一个数字,我们需要展示对应的文字。

 

接下来解决第二个问题,我们新建一个对象,将deliverystatus的每一项与对应的字符串对应起来,根据deliverystatus的值取对应的项展示。

 

上面通过deliverystatusObj[(props.deliverystatus as keyof typeof deliverystatusObj)取得对应的值,在jsx中等价于deliverystatusObj[props.deliverystatus],as keyof typeof deliverystatusObj是ts语法,是断言一个变量为一个对象的键类型的一种形式。

另外可以看到,这行还写了一个条件表达式,是为了仅在列表的最上方第一项展示物流状态。

到现在为止,物流页面已经编写完毕了,只要接上接口就好。

有同学发现,在物流页面上方的卡片中,有一部分没有接入数据。

请添加图片描述

在页面中有时会有这种情况,有的数据有时有,有时没有,可以使用插槽控制。

我们将没有接入数据的部分写在组件插槽中,如果有传入,就展示当前效果,如果没有传入,就展示简单模式效果。

tsx插槽使用起来很简单,首先我们在父组件logistTrack中,向LogistTrackCard组件注入插槽。

注入插槽分为两部,首先我们将插槽对应内容写在LogistTrackCardSlot方法中返回,然后将LogistTrackCardSlot方法绑定在子组件v-slots属性上,v-slots属性对应一个对象,键为插槽名称,值为返回插槽内容的方法。

 

在子组件中使用插槽也很简单,使用slots.default()引入即可,slots作为setup参数传入。

 

插槽准备完毕后我们可以修改一下样式,让其在插槽存在于不存在的时候展示不同的样式。

使用动态类即可(与vue不同)。

 

当slots.default也就是默认插槽存在时,simple类存在。

现在我们的页面已经开发完毕了,页面有两种状态,有插槽状态和没有插槽状态。

有插槽状态:
请添加图片描述
没有插槽状态:
请添加图片描述

版权声明


相关文章:

  • 卷积神经网络发明人2025-03-23 14:01:05
  • 数据库读写分离实现2025-03-23 14:01:05
  • c语言eof的用法!=eof2025-03-23 14:01:05
  • monkey测试结果怎么看2025-03-23 14:01:05
  • echarts官网教程2025-03-23 14:01:05
  • 黑客软件是什么软件2025-03-23 14:01:05
  • 终端模拟器app下载中文版2025-03-23 14:01:05
  • mysql选择前10条数据2025-03-23 14:01:05
  • 计算机操作系统慕课版第一章答案2025-03-23 14:01:05
  • c语言指针数组和数组指针怎么用2025-03-23 14:01:05