uniapp图片自适应_uni-app下input组件基于内容自适应宽度的实现

1、需求

设计图是‘单价’编辑项是input,随输入内容自己改变,前后有而fix(如果单位'¥/片'放后面那就好做多了);但是uni-app的input组件是有自定宽度的,而且试了好多css都很难控制input的自适应宽度(哪位哥做到了教下我啦),所以只能走获取dom数据,绑定样式这样的方法了。

2、解决思路

用的是uni-app里的获取节点的接口 uni.createSelectorQuery()获取节点信息,不详说这东东;

但注意

1)这玩意是onReady之后调用的,不然某些地方报错;

2)如果在封装一个方法,加个回调函数,//todo 卸载回调里

因为不知道为什么(以为小程序会按H5的顺序执行),h5的执行顺序和 小程序顺序不一样

function example(id){

let view = uni.createSelectorQuery().select(id);

let width

view.fields({

id:true,

size: true,

scrollOffset: true

}, data => {

console.log(`${i.name}得到节点信息` + JSON.stringify(data));

if(data){

console.log(`${i.name}得到节点的宽为`,data.width);

}

// console.log(`节点的宽为` + data.width);

// +2:不+2 input H5会有滚动

width = data?`${data.width+2}px`:'100%'

}).exec();

console.log(width)

return width

}

跟着长度的第二个是console.log(example(id))

H5的输出

小程序的输出

所以建议在回调内//todo

获得width,接下来就是绑样式的事了,就不说了

//2019/5/10 该自适应方法宣告失败 原因有空再写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值