vue复选框点击联动事件

我点击这个其他按钮的时候,前面的复选框不能就被禁用了,而下面的输入框从禁用变成可以输入,但是这些数据都是我v-for循环出来的,现在想问问这个该怎么写

img


```javascript
 <van-form @submit="onSubmit">
      <van-collapse
        v-model="activeName"
        accordion
        v-for="(problem, index) in problemList"
        :key="problem.id"
        @change="getDetails(problem.code)"
        @click.native.once="flag = true"
      >
        <van-collapse-item :title="problem.name" :name="index">
          <div v-for="detail in detailsList" :key="detail.id">
            <div class="header">
              <span>{{ detail.name }}</span>
              <span v-if="detail.level == 'core_wt_yz'">问题等级:严重</span>
              <span v-else-if="detail.level == 'core_wt_jz'"
                >问题等级:一般</span
              >
              <span v-else>问题等级:较重</span>
            </div>

            <van-checkbox-group
              v-model="result"
              v-for="(item, index) in detail.nextZbs"
              :key="item.id"
              @change="changeResult"
            >
              <van-checkbox
                :name="item.id"
                :disabled="disabledList"
                ref="checkboxRef"
                @click="clickBtn(index, detail.nextZbs)"
                shape="square"
                >{{ item.name }}</van-checkbox
              >
            </van-checkbox-group>
            <!-- 输入框 -->
            <!-- todo -->
            <van-cell-group>
              <van-field
                v-model="details[detail.orderId - 1]"
                @blur="inp(detail.id, details[detail.orderId - 1],)"
                border
                @click="cl(anyId[detail.orderId - 1])"
                :disabled="anyId.includes(shuru) ? false : true"
                type="textarea"
                placeholder="请你描述具体问题(选中上方其他生效)"
              />
            </van-cell-group>
          </div>
        </van-collapse-item>
      </van-collapse>
      <!-- 复选框 -->
      <van-checkbox v-model="checked" @change="clearAll"
        >不存在以上问题</van-checkbox
      >

      <!-- 检查人员 -->
      <van-cell-group>
        <van-field v-model="role" label="检查人员" placeholder="请输入姓名" />
      </van-cell-group>
      <!-- 日历 -->
      <!-- <van-cell
        title="检查时间"
        :value="date"
        @click="show = true"
        :formatter="formatDate"
        :rules="[{ required: true, message: '请选择日期' }]"
      />
      <van-calendar v-model="show" @confirm="onConfirm" /> -->
      <van-field
        name="calendar"
        :value="date"
        label="检查日期"
        :rules="[{ required: true, message: '请选择日期' }]"
        @click="show = true"
      />
      <van-calendar v-model="show" @confirm="onConfirm" />
      <!-- 选择器 -->
      <van-field
        readonly
        clickable
        name="picker"
        :value="pickValue"
        label="检查批次"
        @click="showPicker = true"
        :rules="[{ required: true, message: '请选择批次' }]"
      />

      <van-popup v-model="showPicker" position="bottom">
        <van-picker
          show-toolbar
          :columns="columns"
          @confirm="confirmPicker"
          @cancel="showPicker = false"
        />
      </van-popup>
      <!-- 提交按钮 -->
      <div class="submitBtn">
        <van-button round block native-type="submit" color="#3768ba"
          >提交</van-button
        >
      </div>
    </van-form>

```

获取选中的值,判断选中的是否为“其他”,再改变disabledList变量的值。
最好定义2个变量,通过v-if控制,一个控制其他选项。

在外层添加一个判断,然后把你说的大体的复选框和其他分为被判断的两类,如果为其他才能在文本框中输入。
个人见解:您所做的这个调查,也是有可能会出现你所复选的内容的,同时也可能出现其他影响带来的水源问题,所以如果您真的是做调查用的话切合实际,不应该用判断来将复选内容和其他分开。当然您要是想做为分类统计数据的话,我建议就是其他作为一类,看一看大体的其他类是不是还有同样的污染问题,再来改进您这个调查统计,没有最优的,只有更优。
如果您是为了学习知识做这种效果的话还是用判断。