起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2076|回复: 7

[结贴] data数据修改

[复制链接]

56

主题

245

帖子

535

积分

高级会员

Rank: 4

积分
535
QQ
发表于 2018-10-30 15:57:27 | 显示全部楼层 |阅读模式
本帖最后由 苦瓜很甜 于 2018-10-30 15:58 编辑

现在要做一个加入购物车的功能,
比如
data里面有数据
西红柿炒鸡蛋  1份
土豆丝       1份
现在想再点击菜品右面的加号,根据菜品的名字改变data里面菜品的数量,比如点击土豆丝右边的加号,土豆丝变为2份,将data里面土豆丝相关的number改为2


aaa.png
发表于 2018-10-30 15:58:46 | 显示全部楼层
这个你参考外卖案例啊
/UI2/takeout/index.w
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

56

主题

245

帖子

535

积分

高级会员

Rank: 4

积分
535
QQ
 楼主| 发表于 2018-10-30 16:01:25 | 显示全部楼层
liangyongfei 发表于 2018-10-30 15:58
这个你参考外卖案例啊
/UI2/takeout/index.w

哦哦,我看一下。。
回复 支持 反对

使用道具 举报

56

主题

245

帖子

535

积分

高级会员

Rank: 4

积分
535
QQ
 楼主| 发表于 2018-10-30 16:06:44 | 显示全部楼层
liangyongfei 发表于 2018-10-30 15:58
这个你参考外卖案例啊
/UI2/takeout/index.w

想起来了
var row = event.bindingContext.$object;
row.val("fCount", row.val("fCount") + 1);
外卖案例是在选中的行的data里面进行改变值的,我的情况是:
比如
我是遍历了secondClassData,而我是要去修改carData里面的值如果用row的话是选取了secondClassData里面的数据进行修改,我想问一下,怎么修改其他data里面的数据
回复 支持 反对

使用道具 举报

发表于 2018-10-30 16:18:02 | 显示全部楼层
苦瓜很甜 发表于 2018-10-30 16:06
想起来了
var row = event.bindingContext.$object;
row.val("fCount", row.val("fCount") + 1);

先使用data.find方法  根据条件,找到那个行对象,然后再修改它的值!
可以参考
http://docs.wex5.com/wex5-ui-question-list-2031/

得到row对象之后

row.val("fCount", row.val("fCount") + 1);  就可以了
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

56

主题

245

帖子

535

积分

高级会员

Rank: 4

积分
535
QQ
 楼主| 发表于 2018-10-30 16:28:47 | 显示全部楼层
liangyongfei 发表于 2018-10-30 16:18
先使用data.find方法  根据条件,找到那个行对象,然后再修改它的值!
可以参考
http://docs.wex5.com/we ...

Model.prototype.addDishClick = function(event) {

                var self = this;

                var row = event.bindingContext.$object;
                row.val("fCount", row.val("fCount") + 1);

                self.getElementByXid('iconShoppingTrolley').style.color = "#0085d0";

                self.getElementByXid('button9').style.color = "#fff";// zty
                // 2018.10.9
                self.getElementByXid('button9').style.backgroundColor = "#0085d0";// zty
                // 2018.10.9

                self.getElementByXid('totalPrice').style.color = "#ff6600";
                self.getElementByXid('nothing').style.display = "none";
                self.getElementByXid('rmb').style.display = "block";
                self.getElementByXid('papawNum').style.display = "block";
                // self.getElementByXid('totalPriceValue').innerHTML =
                // "200"

                var row = event.bindingContext.$object;
                var dishesName = row.val("foodName");// 获取菜品名称
                var dishesPrice = row.val("price");// 获取菜品价格
                var typeId = row.val("typeId");// 获取菜品类别id
                var pac = 0;
                if (typeId == 0) {
                        pac = 1;
                } else {
                        pac = 2;
                }
                var carData = self.comp("carData");// 获取carData组件
                // 当carData中的不存在此菜品时
                if (carData.find([ 'dishesName' ], [ dishesName ]).length === 0) {
                        carData.newData({
                                index : 0,
                                defaultValues : [ {
                                        "typeId" : typeId,
                                        "pac" : pac,
                                        "dishesName" : dishesName,
                                        "dishesPrice" : dishesPrice,
                                        "guige" : " ",
                                        "number" : 1
                                } ]
                        });

                        var pattern = new RegExp("[.]"); //
                        var rs = "";
                        var floatPrice;
                        for (var i = 0; i < dishesPrice.toString().length; i++) {
                                rs += dishesPrice.toString().substr(i, 1).replace(pattern, '');
                        }
                        if (rs == dishesPrice) {// dishesPrice是int类型
                                floatPrice = parseFloat(dishesPrice).toFixed(2);
                        } else {// dishesPrice是float类型
                                floatPrice = dishesPrice;
                        }

                        // self.carAllPrice =
                        // number.accAdd(self.carAllPrice, floatPrice);
                        self.carAllPrice = globlaData.add(self.carAllPrice, floatPrice, 2);
                        // alert(10.01+12+"cccccc")

                        var totalPriceData = self.comp("totalPriceData");
                        totalPriceData.newData({
                                index : 0,
                                defaultValues : [ {
                                        "totalPrice" : self.carAllPrice.toFixed(2)
                                } ]
                        });

                        // 获取carData中菜品的个数
                        var carSize = self.comp("carData").count();
                        // 获取carSizeData组件
                        var carSizeData = self.comp("carSizeData");
                        carSizeData.newData({
                                index : 0,
                                defaultValues : [ {
                                        "carSize" : carSize
                                } ]
                        });
                } else {
                        var rows = carData.find([ 'dishesName' ], [ dishesName ]);
                        rows.val("number", rows.val("number") + 1);
                }
        };
我这么写咋提示我rows.val is not a function。前面咋没事
回复 支持 反对

使用道具 举报

发表于 2018-10-30 16:32:33 | 显示全部楼层
苦瓜很甜 发表于 2018-10-30 16:28
Model.prototype.addDishClick = function(event) {

                var self = this;

rows  是一个数字,
如果里面只有一行数据的话就是
rows[0].val

如果 是多行数据,就循环
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

56

主题

245

帖子

535

积分

高级会员

Rank: 4

积分
535
QQ
 楼主| 发表于 2018-10-30 16:35:24 | 显示全部楼层
liangyongfei 发表于 2018-10-30 16:32
rows  是一个数字,
如果里面只有一行数据的话就是
rows[0].val

好了好了,十分感谢,飞哥厉害,哈哈
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-6-1 23:41 , Processed in 0.066793 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表