javascript - VueJS 2 v-for 表单输入单选按钮检查属性不起作用
问题描述
我不知道为什么这不起作用。我检查我达到的索引0
是否是,将输入框值设置为选中。否则,不要。这似乎是一件非常简单的事情,但我无法理解为什么这会被打破?
VueJS:
<div class="large-6 columns">
<h5 class="subheader">Standard templates</h5>
<div>
<form>
<template v-for="(template, index) in systemTemplates">
<input type="radio" v-bind:id="template.reportId" v-bind:value="template.reportId" v-model="selectedTemplate" v-if="index == 0" checked />
<input type="radio" v-bind:id="template.reportId" v-bind:value="template.reportId" v-model="selectedTemplate" v-else />
<label v-bind:for="template.reportId">{{template.title | sanitizeStr}}</label>
</template>
</form>
</div>
</div>
视觉效果图:
渲染的 DOM 元素:
<div class="large-6 columns">
<h5 class="subheader">
Standard skabeloner
</h5>
<div>
<form>
<input type="radio" id="59a92aafae7a711b3890174e" checked="checked" value="59a92aafae7a711b3890174e">
<label for="59a92aafae7a711b3890174e">Default PDF report</label>
<input type="radio" id="59a92aafae7a711b38901753" value="59a92aafae7a711b38901753">
<label for="59a92aafae7a711b38901753">Default Repeater template: 2 C...</label>
<input type="radio" id="59a92aafae7a711b38901758" value="59a92aafae7a711b38901758">
<label for="59a92aafae7a711b38901758">Default PDF with Map</label>
<input type="radio" id="59a92aafae7a711b38901759" value="59a92aafae7a711b38901759">
<label for="59a92aafae7a711b38901759">Default Repeater template: 2 C...</label>
<input type="radio" id="59a92aafae7a711b3890175f" value="59a92aafae7a711b3890175f">
<label for="59a92aafae7a711b3890175f">Niras standard PDF</label>
<input type="radio" id="59a92aafae7a711b38901760" value="59a92aafae7a711b38901760">
<label for="59a92aafae7a711b38901760">Niras standard PDF m. forside</label>
</form>
</div>
</div>
解决方案
使用 时v-model
,不应使用该checked
属性,而应将 的默认值设置为v-model
所需的选中值。
在循环中只使用一个输入:
<template v-for="(template, index) in systemTemplates">
<input type="radio" v-bind:id="template.reportId" v-bind:value="template.reportId" v-model="selectedTemplate" />
<label v-bind:for="template.reportId">{{template.title | sanitizeStr}}</label>
</template>
并将selectedTemplate
默认值设置为systemTemplates[0].reportId
:
data() {
return {
selectedTemplate: this.systemTemplates[0].reportId
}
}
推荐阅读
- python - 在 Python 中连接 2 个列表的运行时
- python - 为什么我的计算不能在另一个函数中调用的函数中执行?
- react-native - React Native,Formik-Yup 验证的错误未显示
- c# - C# 类型名称未知但已声明
- c# - 如何仅在 azure devops CI env 中而不是在本地运行一些 NUnit 测试
- python - 如何在 Pandas 中使用非数字数据做数据透视表?
- android-studio - 如何将数据从 MainActivity 传递到 KOTLIN ANDROID STUDIO 中的 Recyclerview 适配器
- excel - 填充二维数组
- reactjs - 从嵌套的 json 对象中获取令牌
- angular - Angular 材质组件不显示任何内容