javascript - 更新 Vue 中的 b-form-checkbox

标签 javascript vue.js bootstrap-vue

我有以下<b-form-checkbox>里面 <b-table> :

https://jsfiddle.net/fmattioni/L269rd7s/

这是我想要实现的目标:

1 - 表格以选中的所有复选框开头:我可以通过 checked="true" 轻松实现这一点.

2 - 例如,尝试取消选中随机框。

3 - 现在更改日历中的日期。

4 - 这是我的问题开始的地方:一旦日期更改,我想将所有复选框返回到其初始状态,这意味着所有复选框都应该被选中。


我想通过以下两种不同的方式之一来实现这一目标:

  • 选项 #1 - 有没有办法包含在我的数据中 items是否应该检查某列?这就是我在以下方面尝试做的事情:

items: [
        {id: 1, check: true,},
        {id: 2, check: true,},
        {id: 3, check: true,},
      ]

但我找不到办法告诉<b-form-checkbox>要做到这一点。举个例子,我想要 id: 2初始设置为check: false另一个为 check: true 。这可能吗?

  • 选项 #2 - 如果我能以某种方式将所有值重置为 tru 也足够了一旦日期改变。

有什么想法吗?

最佳答案

#cell(check)="row" 替换为 #cell(check)="{ item }"

<div id="app">
  <div>
    <b-form-datepicker
    value='2021-04-25'
    >
    </b-form-datepicker>
    <b-table
    :items='items'
    >
      <template #cell(check)="{ item }">
        <b-form-checkbox
        v-model="item.check"                 
        >
        </b-form-checkbox>
      </template>
    </b-table>
  </div>
</div>

通过这种方式,组件可以从表组件接收您的项目。 您的#cell 槽位包含更多数据,例如index,供其他用途使用。

https://jsfiddle.net/eligiv/eumvgp4s/15/

关于javascript - 更新 Vue 中的 b-form-checkbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67256800/

相关文章:

vue.js - b-dropdown-item-button 太长,如何使其变短或换行?

html - 使用 "stacked"属性后表标题行消失

vue.js - Vue - 如何传递包装器组件内的插槽?

php - 在转到下一页表单之前自动提交表单

javascript - iOS Phonegap 多行文本选择错误?

javascript - 如何在Vue 3组件中正确使用Pinia?

javascript - slot-scope 和 v-for 的组合使用不明确(v-for 具有更高的优先级)。对作用域槽使用包装器以使其更清晰

javascript - 在我的 Shopify Liquid 主题中添加并解析我自己的 JSON 对象

javascript - 为什么在页面刷新后验证函数调用而单击时没有任何反应

javascript - 如何注册 Vue 组件?