收藏
回答

关于wx:if是不进行渲染还是隐藏的疑问?

问题描述:

在组件中使用slot,然后在slot上使用wx:if,用于控制其下内容的显示与不显示,显示与不显示是可以进行正常操作的,但是不显示的组件,其内容在表单提交的时候会依旧存在,官方文档不是说wx:if判断为false的应该不会被渲染吗?为何在表单提交的时候会有被隐藏的内容?


组件的代码

<picker bindchange="bindPickerChange" model:value="{{value}}" class="inputText" range-key="{{nameField}}" range="{{array}}">
    <view wx:if="{{value}}" class="{{pickerstyle}}">
        {{array[value][nameField]}}
    </view>
    <view wx:else class="{{placeholderstyle}}">
        {{placeholder}}
    </view>
    <input style="display:none;" name="{{name}}" model:value="{{value? array[value][idField]:index}}"></input>
</picker>
<!-- 如果选择的值等于showId,则展示内容 -->
<slot wx:if="{{showId == 1}}"></slot>

    


下面是使用组件的代码

<view class="container">
  <form bindsubmit="submitForm">
    <dic-picker name="demo1" showId="1">
      <input name="demo" value="123456" />
    </dic-picker>
    <button form-type="submit" >提交
        </button>
  </form>
</view>
最后一次编辑于  2020-10-12
回答关注问题邀请回答
收藏

2 个回答

  • 陈宇明
    陈宇明
    2020-10-12

    给内容设置了默认值吗?

    2020-10-12
    有用
    回复 2
    • 王业群
      王业群
      2020-10-12
      设置了默认值
      2020-10-12
      回复
    • 陈宇明
      陈宇明
      2020-10-12回复王业群
      那上报的是默认值吗?
      2020-10-12
      回复
  • 微喵网络
    微喵网络
    2020-10-12

    不渲染

    隐藏是hidden

    2020-10-12
    有用
    回复 3
    • 王业群
      王业群
      2020-10-12
      问题是表单提交的时候不渲染的部分的值会依旧存在
      2020-10-12
      回复
    • 微喵网络
      微喵网络
      2020-10-12回复王业群
      值你不是存在data里的?
      2020-10-12
      回复
    • 王业群
      王业群
      2020-10-12
      不是
      2020-10-12
      回复
登录 后发表内容
问题标签