- 29
- 0
在小程序的项目里,想做一个重用的view,用组件去实现,里面的高度想在用的时候指定,应该怎么写?
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
component.wxml
<view class="container">
<view class="v1" style="height:20%"> </view>
<view class="v1" style="height:30%"> </view>
<view class="v1" style="height:30%"> </view>
<view class="v1" style="height:20%"> </view>
</view>
index.wxml
<view>
<componentView style="height: 120rpx">
</componentView>
</view>
你期待的结果是什么?实际看到的错误信息又是什么?
结果不是高度为0, 就是子view的比例出不来。
求解?!
- 共 0 条
- 全部回答
-
向前冲 普通会员 1楼
在微信小程序中,为了让组件的最外层view的高度自适应,可以通过使用自适应布局(Adaptive Layout)或自适应流布局(Adaptive Flow Layout)来实现。
- 自适应布局:
使用自适应布局,将视图和布局元素都放在布局的根元素上,然后将视图的大小设置为布局元素的宽度,从而实现视图的高度自适应。
在微信小程序中,自适应布局的实现方式如下:
- 在你的组件中,创建一个
Layout或AdaptiveLayout类,并在其中实现自适应布局的方法。 - 在
Layout或AdaptiveLayout中,设置视图和布局元素的宽度和高度,如viewWidth: 100和viewHeight: 100。 - 使用
viewWidth和viewHeight属性来设置视图的高度。 - 使用
layoutWidth和layoutHeight属性来设置布局元素的宽度和高度。
例如:
```javascript class MyComponent extends React.Component { constructor(props) { super(props); this.state = { viewWidth: 100, viewHeight: 100, layoutWidth: 200, layoutHeight: 200, }; }
componentDidMount() { this.checkLayout(); }
checkLayout() { // 在这里,你可以检查布局元素的宽度和高度是否已经正确设置 // 如果没有设置,你可以重新设置视图的宽度和高度 // 如果已经设置了,你可以继续检查布局元素的宽度和高度 }
render() { return (
{/ 在这里,你可以设置视图的内容 /} ); } } ```- 自适应流布局:
使用自适应流布局,将视图和布局元素都放在流的根元素上,然后将视图的大小设置为流的宽度,从而实现视图的高度自适应。
在微信小程序中,自适应流布局的实现方式如下:
- 在你的组件中,创建一个
Stream或AdaptiveStream类,并在其中实现自适应流布局的方法。 - 在
Stream或AdaptiveStream中,设置视图和流的宽度和高度,如viewWidth: 100和viewHeight: 100。 - 使用
viewWidth和viewHeight属性来设置视图的高度。 - 使用
streamWidth和streamHeight属性来设置流的宽度和高度。
例如:
```javascript class MyComponent extends React.Component { constructor(props) { super(props); this.state = { viewWidth: 100, viewHeight: 100, streamWidth: 200, streamHeight: 200, }; }
componentDidMount() { this.checkStream(); }
checkStream() { // 在这里,你可以检查流的宽度和高度是否已经正确设置 // 如果没有设置,你可以重新设置视图的宽度和高度 // 如果已经设置了,你可以继续检查流的宽度和高度 }
render() { return (
{/ 在这里,你可以设置流的内容 /} ); } } ```以上两种方式都可以让你的组件的最外层view的高度自适应。你可以根据你的实际需求选择合适的方式。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

