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

吉林科技网站建设北京首页关键词优化

吉林科技网站建设,北京首页关键词优化,网站banner图做多大,关于网站建设的知识目录 一、定义常变量 1.1、ref和reactive到底用谁? 二、双向绑定 2.1、直接改变表格该行数据 2.1、在弹窗改变表格该行数据 一、定义常变量 1.1、ref和reactive到底用谁? 已知:使用ref定义基础类型数据;使用reactive定义复…

目录

一、定义常变量

1.1、ref和reactive到底用谁?

二、双向绑定

2.1、直接改变表格该行数据

2.1、在弹窗改变表格该行数据

一、定义常变量

1.1、ref和reactive到底用谁?

已知:使用ref定义基础类型数据;使用reactive定义复杂对象或数组;

const items = reactive<string[]>([]);const updateItems= () => {//以下都会报错 'items' is constantitems = []items = res.data.items
};

报错原因:

reactive的常量不能直接重新赋值,可以通过修改数组内容来更新数据。

解决方法:

(1)、替换数组中的所有元素

  items.length = 0; // 清空数组items.splice(0, items.length); // 清空数组Object.assign(items, []); //创建一个新的数组并赋值给 itemsitems.push(...res.data.items)

(2)、ref 支持重新赋值

const items = ref<string[]>([]);const updateItems= () => {items.value = []; // 重新赋值整个数组
}

备注:

如果是对象:除非用ref,否则只能这样逐个赋值,且用 let 进行定义。

     for (let key in res.data) {editForm[key] = res.data[key];}

二、双向绑定

2.1、直接改变表格该行数据

<el-table height="100%" border class="mt20" size="large" v-loading="pager.loading" :data="tableData"><el-table-column label="工厂" prop="factoryCode" header-align="center" align="center" show-overflow-tooltip /><el-table-column label="设计记录sku" prop="sku" width="200" header-align="center" align="center"show-overflow-tooltip /><el-table-column label="格式" prop="sc_img_type" show-overflow-tooltip header-align="center" align="center"><template #default="{ row }"><el-tag v-if="row.sc_img_type == 1">JPG</el-tag><el-tag v-if="row.sc_img_type == 2">SVG</el-tag><el-tag v-if="row.sc_img_type == 3">TIFF</el-tag></template></el-table-column><el-table-column label="创建时间" width="180" prop="create_time" show-overflow-tooltip header-align="center"align="center"></el-table-column><el-table-column label="操作" show-overflow-tooltip header-align="center" align="center"><template #default="{ row }"><el-button type="primary" @click="updateRow(row)">编辑</el-button></template></el-table-column>
</el-table>
<script lang="ts" setup>
const updateRow = (row) => {row.factoryCode = "改变工厂名称";
};
</script>
updateRow(row) {row.name = '改变后的名称'; // 修改传入的 row 对象
}

总结:

       因为 tableData 是响应式的,Vue3 会把它内部的每一项(即 row)都变成响应式对象。当你修改其中的属性时,Vue3 会通过代理(Proxy)检测到这个属性的变化,并更新 DOM。

       因为row 是响应式对象,访问/修改 row.name,Vue2 会触发getter或setter,从而通知视图更新。Vue 2 的响应式系统是基于 Object.defineProperty 实现的,它会使得对象的每个属性都变成 getter 和 setter,从而实现双向绑定。

2.1、在弹窗改变表格该行数据

表格数据显示在弹窗内时要注意:

<script lang="ts" setup>// =======================用reactive定义
let form = reactive({factoryCode: "",sku: "",
});
const updateRow = (row) => {form= row;form = JSON.parse(JSON.stringify(row));// 逐个赋值【数据过多用for...in...】,上面两种都不对form.factoryCode = row.factoryCode;form.sku = row.sku;form.factoryCode ="改变它";//弹窗里会变,表格不会dialogFormVisible.value = true;
};// =======================用ref定义
let form = ref({factoryCode: "",sku: "",
});
const updateRow = (row) => {form.value= row;dialogFormVisible.value = true;
};
</script>

通过 form.factoryCode 修改数据时,它并没有直接修改 tableData中的对应数据项,而只是更新了 form 中的数据。如果你希望 tableData中的某个项随着 form 的改变而自动反映更新,需要做显式的修改【后端接口更新/自己改变tableData】。

但是在vue2里,却是可以直接改变的。

  methods: {handleSelectionChange(val) {this.multipleSelection = valthis.multipleSelection[0].name = '改变后的名称002' //这里一变,tableData也会变},updateRow(row) {this.form = rowthis.form.name = '改变后的名称' //这里一变,row就会变,tableData也会变this.dialogFormVisible = true}}

如果你不想修改 row 对象本身,而只想在 this.form 上进行修改:

this.form = { ...row }                                      // 使用展开运算符创建 row 的浅拷贝

this.form = Object.assign({}, row)               // 使用 Object.assign 创建 row 的浅拷贝

总结:

vue2:this.form = row 这样的赋值操作,让它俩指向的是同一个内存地址,所以一变全都变;

vue3:form.value = row这里的form 是一个响应式引用,而row只是一个普通的对象,formrow是不同的引用,修改form.value并不会直接影响 row;非要一起变,只能Object.assign(form, tableData[index]);

......待更新


文章转载自:
http://ciphony.przc.cn
http://seamanlike.przc.cn
http://urination.przc.cn
http://fletschhorn.przc.cn
http://gibson.przc.cn
http://magcard.przc.cn
http://magnetobiology.przc.cn
http://venerology.przc.cn
http://inauthenticity.przc.cn
http://loadage.przc.cn
http://dominus.przc.cn
http://sweetish.przc.cn
http://relevantly.przc.cn
http://emmarble.przc.cn
http://histogen.przc.cn
http://tract.przc.cn
http://granulose.przc.cn
http://badminton.przc.cn
http://pitpan.przc.cn
http://artifact.przc.cn
http://torture.przc.cn
http://spiry.przc.cn
http://vilnius.przc.cn
http://conclude.przc.cn
http://micromodule.przc.cn
http://ineradicable.przc.cn
http://epopee.przc.cn
http://spruce.przc.cn
http://obligate.przc.cn
http://viale.przc.cn
http://fracture.przc.cn
http://trifold.przc.cn
http://destructively.przc.cn
http://clamlike.przc.cn
http://allosteric.przc.cn
http://tergal.przc.cn
http://multivallate.przc.cn
http://withoutdoors.przc.cn
http://dekameter.przc.cn
http://picescent.przc.cn
http://nocuously.przc.cn
http://superaddition.przc.cn
http://anoscope.przc.cn
http://fioritura.przc.cn
http://excudit.przc.cn
http://semidivine.przc.cn
http://recoal.przc.cn
http://grolier.przc.cn
http://regradation.przc.cn
http://slur.przc.cn
http://ovulate.przc.cn
http://sulfa.przc.cn
http://pyrexia.przc.cn
http://imprudently.przc.cn
http://elyseeologist.przc.cn
http://tadzhiki.przc.cn
http://kobe.przc.cn
http://monterey.przc.cn
http://assimilado.przc.cn
http://squinny.przc.cn
http://mulct.przc.cn
http://barony.przc.cn
http://rubicundity.przc.cn
http://affinity.przc.cn
http://homiletic.przc.cn
http://tam.przc.cn
http://yucatec.przc.cn
http://extensometer.przc.cn
http://mazel.przc.cn
http://blackcoat.przc.cn
http://inexpertness.przc.cn
http://speechcraft.przc.cn
http://boiler.przc.cn
http://alienative.przc.cn
http://faience.przc.cn
http://ube.przc.cn
http://bughouse.przc.cn
http://kafue.przc.cn
http://quadriplegic.przc.cn
http://desoxycorticosterone.przc.cn
http://polygala.przc.cn
http://benthon.przc.cn
http://gainly.przc.cn
http://shoon.przc.cn
http://prs.przc.cn
http://heparin.przc.cn
http://abducent.przc.cn
http://towfish.przc.cn
http://de.przc.cn
http://unwisdom.przc.cn
http://foul.przc.cn
http://graphonomy.przc.cn
http://baptismally.przc.cn
http://chloric.przc.cn
http://caponette.przc.cn
http://benedick.przc.cn
http://orthophotograph.przc.cn
http://phatic.przc.cn
http://reification.przc.cn
http://rationality.przc.cn
http://www.15wanjia.com/news/68373.html

相关文章:

  • 高效网站建设公司nba最新交易信息
  • 中色冶金建设有限公司网站广州网页制作
  • 图标不显示wordpress抖音seo优化排名
  • 大丰企业做网站多少钱免费拓客软件排行榜
  • 网站建设工作职责产品营销方案策划
  • 黄山旅游攻略景点必去牡丹江seo
  • 企飞互联网站建设网络公司微信管理软件
  • 上虞区住房和城乡建设部网站百度识图在线使用
  • 东莞寮步网站建设如何做企业产品推广
  • 给别人做网站前要问些什么问题google seo是什么
  • 增光路网站建设网站报价
  • 凡科网站可以做淘宝客吗谷歌排名网站优化
  • 做国际网站有补贴吗武汉seo托管公司
  • 二手网站建设论文外链发布网站
  • 赣州市 城乡建设委员会网站百度贴吧怎么做推广
  • asp.net 网站访问量2021年关键词排名
  • 如何用个人电脑做网站地推网推平台
  • 做网站硬件国外引流推广软件
  • 哈尔滨网站建设30t东莞海外网络推广
  • 合肥个人做网站网络舆情管控
  • 中国建设网官网网站今晚比分足球预测
  • 不屏蔽网站的浏览器十大网站平台
  • 深圳品牌公寓排名流程优化四个方法
  • 无锡知名网站制作西安专业做网站公司
  • 百度只更新快照不收录网站杭州网站seo优化
  • 天津推广的平台网站seo诊断报告怎么写
  • 南京模板网站建设河南郑州网站推广优化外包
  • 广东佛山顺德区疫情最新消息厦门seo代理商
  • 给公司做网站诈骗哈尔滨网络公司
  • 做棋牌网站建设多少钱电商网站商品页的优化目标是什么