当前位置: 首页 > news >正文

做网站美工要学什么广告设计公司取名

做网站美工要学什么,广告设计公司取名,免费做电子目录的网站,做网页的网站素材我的需求是根据设备不同的状态 渲染不同的标签。设备状态用device_State表示。 在线上面是一个vue的标签,我有一个数据state ,如何让这个标签根据数据的取值 ,修改内容,如state1时,标签修改为离线 要根据数据的取值动态…

在这里插入图片描述

我的需求是根据设备不同的状态 渲染不同的标签。设备状态用device_State表示。
在线上面是一个vue的标签,我有一个数据state ,如何让这个标签根据数据的取值 ,修改内容,如state=1时,标签修改为离线
要根据数据的取值动态修改Vue组件的内容,可以使用条件渲染和绑定属性的方式来实现。具体来说,可以使用Vue的计算属性来根据state的取值返回不同的标签内容和属性,然后在模板中使用这个计算属性来动态渲染标签。

1.单一标签的实现方式

<template><el-tag :type="tagType">{{ tagContent }}</el-tag>
</template><script>
export default {data() {return {state: 1 // 初始值为 1};},computed: {tagType() {// 根据 state 的值返回不同的 type 属性return this.state === 1 ? 'success' : 'danger';},tagContent() {// 根据 state 的值返回不同的标签内容return this.state === 1 ? '在线' : '离线';}}
};
</script>

在上面的示例中,定义了一个计算属性 tagType,根据 state 的值返回不同的标签类型。同时,也定义了另一个计算属性 tagContent,根据 state 的值返回不同的标签内容。

在模板中,使用了动态绑定属性 :type 和动态渲染内容 {{ tagContent }},这样当 state 的值发生变化时,组件的内容就会自动更新为相应的标签类型和内容。

这种只有一条数据的时候是比较方便的,但如果是在表格中,那么就需要获得行数据。

2.在表格中的实现方式

代码如下

<template><el-table :data="tableData" style="width: 100%"><el-table-column prop="name" label="名称"></el-table-column><el-table-column prop="state" label="状态"><template slot-scope="{ row }"><el-tag :type="tagType(row.state)">{{ tagContent(row.state) }}</el-tag></template></el-table-column></el-table>
</template><script>
export default {data() {return {tableData: [{ name: '项目1', state: 1 },{ name: '项目2', state: 0 },{ name: '项目3', state: 1 }]};},methods: {tagType(state) {return state === 1 ? 'success' : 'danger';},tagContent(state) {return state === 1 ? '在线' : '离线';}}
};
</script>

在上面的示例中,使用了slot插槽来动态渲染表格中的标签。在el-table-column组件中,使用了一个具名插槽slot-scope,通过row参数获取到当前行的数据,然后根据状态值动态渲染标签内容。在模板中,使用了动态绑定属性:type和动态渲染内容{{ tagContent(row.state) }},这样就可以在表格中动态渲染标签内容了。
需要注意的是,在表格中使用slot插槽时,需要通过slot-scope来获取到当前行的数据。
除了这种方式外,还可以使用自定义组件来实现。

3.使用组件的方式实现

当组件需要在v-for指令中进行渲染时,可以将计算属性移动到组件的props中,然后通过父组件传递状态值进入子组件。

<template><div><el-tag :type="tagType">{{ tagContent }}</el-tag></div>
</template><script>
export default {props: {state: {type: Number,required: true}},computed: {tagType() {return this.state === 1 ? 'success' : 'danger';},tagContent() {return this.state === 1 ? '在线' : '离线';}}
};
</script>

在上面的示例中,我们将计算属性移动到了组件的props中,并通过父组件将状态值传递给子组件。在模板中,我们通过动态绑定属性:type和动态渲染内容{{ tagContent }}来渲染标签,并在v-for指令中循环渲染子组件,传递不同的状态值进入子组件。

以下是一个在v-for指令中使用组件的示例:

<template><div><div v-for="item in items" :key="item.id"><my-tag :state="item.state"></my-tag></div></div>
</template><script>
import MyTag from './MyTag.vue';export default {components: {MyTag},data() {return {items: [{ id: 1, state: 1 },{ id: 2, state: 0 },{ id: 3, state: 1 }]};}
};
</script>

在上面的示例中,我们在父组件中通过v-for指令循环渲染子组件my-tag,并通过:state属性传递不同的状态值进入子组件。子组件则根据状态值动态渲染标签内容。

http://www.yayakq.cn/news/637295/

相关文章:

  • 做网站530元东莞企石做网站
  • 什么网站了解国家建设的行情深圳建站服务中心
  • 龙华网站制作校本教研网站建设
  • 网站国外空间fifa17做任务网站
  • 做网站需要域名吗wordpress用户聊天
  • 网站空间域名维护协议电脑网络服务在哪里
  • 广西上林建设局网站如何做php网站建设
  • 苏州公司网站设计成都网站制作机构
  • 旅游微信网站建设wordpress设置用户权限
  • soho外贸建站什么是响应式网站设计
  • 如何恢复网站有什么正网站做兼职的
  • 外贸网站建设公司方案零食网站源码
  • 宿州网站建设开发公司东莞做微网站
  • 沂水网站开发如何判断网站html5
  • 网站项目策划书实例网站淘宝推广怎么做
  • wordpress做的网站扩展性怎样在建设部网站下载规范
  • 郑州专业做网站的公司网站推广工作计划
  • 两学一做 山西答题网站如何查询网站备案
  • 河北省住房和城乡建设厅网站主页有什么做兼职的好网站
  • 合肥建设学校官方网站为什么进不了中国建设银行网站
  • 网站建设和运行管理办法wordpress自动升级失败
  • 有经验的南昌网站设计中国品牌设计公司
  • 小网站文案什么软件做网站好些
  • 莆田 网站建设wordpress用了cdn和缓存插件
  • h5如何做多页面网站教育行业网站开发
  • win7建网站教程wordpress 一栏
  • 大朗网站建设培训网站个人备案模版
  • 个人网站备案麻烦网页传奇单机版
  • 免费建立网站的网站都有啥成都游戏网站建设
  • 网站关键词怎么做可以排名网站网站合作建设