当前位置:网站首页>uni-app中使用computed解决了tab切换中data()值显示的异常
uni-app中使用computed解决了tab切换中data()值显示的异常
2022-07-02 10:30:00 【Web前端打字员】
tab切换以后数据展示异常
后端返回的数据结构=>
{
“status”:1,
“msg”:“查询成功”,
“data”:{
“no_start_work_count”:1,
“working_count”:0,
“in_working_count”:0,
“work_end_count”:0,
“work_over_dd_count”:0,
“work_over_count”:0,
“count”:1,
“pageCount”:1,
“nowPage”:“1”,
“list”:[
{
“id”:137,
“work_sn”:“gd16562977xxx8”,
“user_id”:6718xx,
“type”:2,
“address”:“广东省 广州市 XXX XXX”,
“phone_mob”:“13488888888”,
“consignee”:“wwater”,
“image_url”:“”,
“remark”:“期待上门时间:2022-06-27 10:41-10:38;<br/>工单需求:这是测试时间是否可以查阅”,
“add_time”:“2022-06-27 10:42”,
“visit_time”:“2022-06-27 10:41”,
“order_id”:194956xxx,
“order_sn”:“20220627104xxxxxx”,
“recs_id”:“4443xxx”,
“status”:2,
“worker_profit_money”:“0.00”,
“items_that”:“挂壁式”,
“punch”:1,
“fault_num”:1,
“fault_type”:2,
“fault_money”:“10.00”,
“orderGoods”:{
“goodsList”:[
{
“goods_name”:“洗衣机安装”,
“goods_image”:“https://oss.aliyuncs.com/tpsite2/zuolinyouli.xyd.qushiyun.com/8af4ccf9ccb7554c0af684de201faf66.png”,
“price”:“0.01”,
“quantity”:“1.00”
}
],
“orderPrice”:“0.01”
},
“lng”:null,
“lat”:null,
“distance”:0,
“status_text”:“已派工”,
“user_avatar”:“https://thirdwx.qlogo.cn/mmopen/vi_32/DYAIOgq83eqZ4vmXhgRLao1iamtR114XPyADIF9UV9nEibndUudcPiaFVQlibibn6rd4HJ06zH3THmvEC6I3dNSZvdA/132”
}
]
}
}
BUG视图和分析
通过axios获取的数据以后进行渲染绑定,我这边
代码=>
通过map遍历循环返回出去这个商品名称和数量,但是会出现上述的情况在切换过程中会出现goodsQuantity``goodsName 变为object对象。
标签显示的内容
<view class="left text_overflow padding20">{
{goodsName}}x{
{goodsQuantity}}</view>
data() {
return {
goodsName:"",
goodsQuantity:0,
orderList:[],
}
},
methods:{
getDetail() {
let that = this
let url = 地址接口
let datakey = []
// ......datakey需要传递的参数
// datakey['limit'] = 10
Util.request(url, datakey, "GET", res => {
// .......
let orderList = res.data.list
this.orderList = [...this.orderList, ...orderList];
this.status = 'loadmore'
// 这边进行赋值操作
that.goodsName = orderList.orderGoods.goodsList.map(item =>{
return item.goods_name
})
that.goodsQuantity = orderList.orderGoods.goodsList.map(item =>{
return item.quantity
})
if (orderList.length < 10) {
this.switch = true
this.status = 'nomore'
}
}, err => {
console.error(err)
})
},
}
解决方法
通过计算属性computed 来解决这个问题:
区别data和computed
data 和 computed 最核心的区别在于 data 中的属性并不会随赋值变量的改动而改动,而computed 会。(赋值变量类似:num: aaa.bbb,直接赋值是 num: 123);也就是说如果我们的值是可变的,那么就是用这个computed进行使用,computed可以更精细的控制属性读写,但它需要借助一个临时变量(temp_name)才能实现。
<view class="left text_overflow padding20">{
{shopGoodsName }}x{
{shopGoodsQuantity}}</view>
data() {
return {
goodsName:"",
goodsQuantity:0,
orderList:[],
}
},
computed:{
shopGoodsName() {
return this.goodsName = this.orderList.map(val =>{
return val.orderGoods.goodsList.map(item =>{
return item.goods_name
})
})
},
shopGoodsQuantity() {
return this.goodsQuantity = this.orderList.map(val =>{
return val.orderGoods.goodsList.map(item =>{
return parseInt(item.quantity)
})
})
}
},
methods:{
getDetail() {
let that = this
let url = 地址接口
let datakey = []
// ......datakey需要传递的参数
// datakey['limit'] = 10
Util.request(url, datakey, "GET", res => {
// .......
let orderList = res.data.list
this.orderList = [...this.orderList, ...orderList];
this.status = 'loadmore'
if (orderList.length < 10) {
this.switch = true
this.status = 'nomore'
}
}, err => {
console.error(err)
})
},
}
最终解决了这个问题

边栏推荐
- 千元投影小明Q1 Pro和极米NEW Play谁更好?和哈趣K1比哪款配置更高?
- [usaco05jan]watchcow s (Euler loop)
- Add sequence number column to query results in MySQL
- Detailed collection of common MySQL commands
- Just 1000 fans, record it
- The global special paper revenue in 2021 was about $27 million, and it is expected to reach $35 million in 2028. From 2022 to 2028, the CAGR was 3.8%
- P1908 reverse sequence pair
- MySQL 45 lecture - learning from the actual battle of geek time MySQL 45 Lecture Notes - 04 | easy to understand index (Part 1)
- [technology development-22]: rapid overview of the application and development of network and communication technology-2-communication Technology
- [document tree, setting] font becomes smaller
猜你喜欢

Solve "sub number integer", "jump happily", "turn on the light"

Selenium element positioning method

Will your sleep service dream of the extra bookinfo on the service network

Drawing Nyquist diagram with MATLAB

Simple introduction to ENSP

selenium 元素定位方法

OpenFOAM:lduMatrix&lduAddressing

How to explain binary search to my sister? This is really difficult, fan!

Systemserver process

SystemServer进程
随机推荐
故事點 vs. 人天
Error: eacces: permission denied, access to "/usr/lib/node_modules"
selenium,元素操作以及浏览器操作方法
Skillfully use SSH to get through the Internet restrictions
Use of UIC in QT
The global special paper revenue in 2021 was about $27 million, and it is expected to reach $35 million in 2028. From 2022 to 2028, the CAGR was 3.8%
How to set QT manual layout
BeanUtils -- shallow copy -- example / principle
rxjs Observable 自定义 Operator 的开发技巧
Tupang multi-target tracking! BOT sort: robust correlated multi pedestrian tracking
leetcode621. task scheduler
【虹科技术分享】如何测试 DNS 服务器:DNS 性能和响应时间测试
P3807 [template] Lucas theorem /lucas theorem
Halcon extract orange (Orange)
Common options of tcpdump command: Three
Everyone believes that the one-stop credit platform makes the credit scenario "useful"
Unity skframework framework (XII), score scoring module
千元投影小明Q1 Pro和极米NEW Play谁更好?和哈趣K1比哪款配置更高?
题解《子数整数》、《欢乐地跳》、《开灯》
2022家用投影仪首选!当贝F5强悍音画效果带来极致视听体验