美文网首页go语言
10-Beego优选编辑地址

10-Beego优选编辑地址

作者: 梦想成为小仙女 | 来源:发表于2019-01-31 19:30 被阅读60次

    之前我们也写过如何编辑地址,是单独创建了一个类似添加地址的界面,并且给这个界面单独设置了提交的路由,在这个路由中我们执行了和添加地址相似的操作,只是把最后的插入数据改成了更新数据.这里我们让编辑地址和增加地址共享同一个页面,通过隐藏输入框悄悄的回传地址的Id,如果Id不存在就新增,如果存在,也就是返回了地址的Id,说明这个地址已经存在了,就更改;这里要注意跳转控制器适用于返回地址对象的,但是提交地址和新增地址是一个控制器,所以要做判断,你到底是提交还是新增

    效果图.gif

    0.逻辑注意点:

    1.这里新增和修改共享同一个页面
    value="{{or .userName .address.Receiver}}"
    我们在新增页面回传的是userName,我们在修改界面由于是直接从数据库查询的地址返回的,所以要通过.address.属性访问,哪个不为空就显示哪个值
    2.悄咪咪回传地址id
    如果是新增地址,通过input的hidden类型悄悄的在前端回传地址id
    3.在添加地址控制器中,添加获取id的语句,并且判断id是否为空,执行不同的操作
    4.在界面显示默认状态,判断是否有address回传IsDefault,没有的话才执行根据回传的checked显示
    5.获取地址id用的是string,不是int,是为了方便获取是否为""如果是int不好判断

    1.语法注意点

    1.o.Update(&address)后面不用指定根据什么字段查找更新数据,会报错
    错误:c.Update(&address,"Id")

    一.编辑地址逻辑代码

    1.获取数据(url)
    2.创建需要编辑的对象
    3.查询需要编辑的对象
    4.将查询结果回传给界面


    image.png

    二.共享添加/编辑地址界面

    1.name回传用or语法返回两个控制器传过来的数据中不为空的
    2.设置隐藏输入框窃听第一个控制器的数据传递到第二个控制器
    3.设置url回传数据id


    image.png
    image.png
    image.png

    如果本来是默认地址就是默认,如果本来不是默认地址,根据当前编辑的状态确定是不是默认


    image.png

    三.共享添加/编辑地址控制器

    1.接收地址id
    2.判断地址id是否为""
    3.为空代表插入地址
    4.不为空更新地址


    image.png
    image.png

    相关文章

      网友评论

        本文标题:10-Beego优选编辑地址

        本文链接:https://www.haomeiwen.com/subject/pyflsqtx.html